用IntraWeb开发一个Web程序 在线等?(30分)

  • 主题发起人 主题发起人 kvpw
  • 开始时间 开始时间
K

kvpw

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在用IntraWeb开发一个Web程序 当有两个用户同时访问时有一个用户可以
别一个用户出现了My Intraweb Application Error
Name not unique in this context.
为什么会有这样的错误
我就只有30分了 希望不要说太多了
 
我不知道...
 
intraweb是用客户端的机器的ip来区别登陆到本机的用户,如果你用同一个机器登陆就可能出现这种问题(局域网内的相同机器)。
 
我知道你犯了什么错误,这是初学IW的人最容易犯的错(80%左右);
并且我知道是你用的DM时出现的错误,
我现在正在下载oracle10g,正在等,你Q我10772221我给你说。
 
IntraWeb程序多用户访问的解决方案 04-03-20 by chenshaizi
IntraWeb程序多用户访问可以分成两种,一种是用数据模块DM的,一种是没有用DM的,
一、先说用DM的情况,当你创建IW程序时选择了DM时,把你需要用到数据访问控件如ADOConnection,ADODATAset,ADOQuery放到DM的FORM上,从工程选择里移除DM的自动创建,
然后打开单元UseSessionUnit,引用uses dataModuleUnit;在public部分申明DM:TDataModule;
在IWUseSession上双击,在procedure TIWUserSession.IWUserSessionBaseCreate(Sender: TObject);事件里写入
procedure TIWUserSession.IWUserSessionBaseCreate(Sender: TObject);
begin
DM:=TDataModule.create(WebApplication);
end;
引用 如下:
uses ServerController;//注意不是UseSessionUnit;原因 下面解释
Procedure TIWForm1.IWButton1Click(Sender:TObject);
begin
UseSession.DM.AdoDataSet1.connection:=ADOConnection;
end;
二、不用DM的情况,这种情况最简单了(本人推荐使用),创建IW工程时不选择数据模块( 弹出选项界面时直接[确定]),那我们喜欢用DM的同志们怎样和原来一样使用DM一样的功能呢?别急,下面告诉你。
我们不用DM,但我们可以找一个DM的替代品,找谁呢,打开UseSessionUnit时它有一个form不就是一个容器吗,我们就用它,把IWUseSession作为DM来用,把你需要用到数据访问控件如ADOConnection,ADODATAset,ADOQuery放到IWUseSession的FORM上,就可以引用了,
引用如下,
uses ServerController;//注意不是UseSessionUnit;
Procedure TIWForm1.IWButton1Click(Sender:TObject);
begin
UseSession.AdoDataSet1.connection:=ADOConnection;//哈哈,比第一种方法省事吧。
end;

“uses ServerController;//注意不是UseSessionUnit;原因 下面解释”:
IW工程中并不像delphi标准工程一样自动为每个form申明一个窗体的全局变量(var Form1:TForm1),但IW在单元ServerController里申明了一个全局类型函数
function UserSession: TIWUserSession;(它的详细请看ServerController单元)
这个UserSession就是 TIWUserSession的全局变量,我们要引用TIWUserSession上的控件,则要这样UserSession.控件.方法/属性。
注:这是本人凭记忆写的可能上面有此英文有错误(本人的E文差得要命).

另有的朋友经常问:我的IW工程有DM,把IWDBGRID放到IWForm1时设置好数据源等,但运行时就是没有显示数据?
答:原因是你的DM并没有创建(自动创建里是存在,但它在IWMain的后面,不行,错误),你可以按上面的方法解决,还可以把DM的创建提前,打开工程.dpr文件,把DM的创建移动到IWMain的前面。就可以解决,但不能进行多用户访问。

IW7.0.19的破解方法:
IW的破解如下 修改IWKlooch.dcu 文件
查找B3018D45替换成B3048D45,共有1处
下面的解释:如把B3018D45替换成以下“//”后面的16进制
00是ltUnknown// B3008D45不能设置IP和端口
01是ltEval,// B3018D45不能设置IP和端口
02是ltPersonal// B3028D45个人版
03是ltDeveloper// B3038D45开发版
04是ltEnterprise// B3048D45 企业版功能最强大
05是ltPackagedEnterprise//B3058D45企业开发包版
06是ltPackagedPage// B3068D45 页模式

TMS和arcana的破解如下
修改以下文件查找017313A1替换成017313C3,共有个文件
/Arcana/IWControl/LibD7/ArcIWControlBase.dcu
/Arcana/IWDialogs/LibD7/ArcIWDlgBase.dcu
/Arcana/IWEnhanced/LibD7/ArcIWEnhancedInterface.dcu
/Arcana/IWGraphs/LibD7/ArcIWGraphsBar.dcu
/Arcana/IWLanguage/LibD7/ArcIWTranslatorBase.dcu
/TMS/LibD7/IWTMSBase.dcu
/TMS/LibD7/IWWebGrid.dcu
/TMS/LibD7/IWWebPlanner


 
接受答案了.
 
后退
顶部