首页  编辑  

IntraWeb程序多用户访问的解决方案

Tags: /超级猛料/Web.互联网开发技术/   Date Created:

      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