初学三层,一个简单问题,望高人帮助。(50分)

  • 主题发起人 主题发起人 wind_2005
  • 开始时间 开始时间
W

wind_2005

Unregistered / Unconfirmed
GUEST, unregistred user!
我做了一个最简单的三层测试程序,
功能只是在客户端通过服务器程序,连接至数据库上。
服务器端只包括一主窗体和一远程数据模块。
客户端用DCOMConnection连接。
运行客户端,一切正常。
但是我修改了服务器端,在远程数据模块的Create事件中加入如下代码:
procedure TTestServer.RemoteDataModuleCreate(Sender: TObject);
begin
Form1.lblClientNum.Caption := 'Ok';
end;
后,客户端无法正常连至服务器。
将 Form1.lblClientNum.Caption := 'Ok';
一句注释之后,又恢复正常。
请问,我的错误在哪里?如何在主窗体中显示远程数据模块的相关信息呢?
比如,我如何得知客户端执行了几次查询。
在下先谢过了!!!
 
看看你的创建顺序吧,我怀疑RemoteDataModuleCreate之前窗口Form1还没创建。
 
这不是3层的错误,因为formcreate事件触发时,form.caption 还没有分配内存。自然无法访问
 
根据procman的提示,我将 Form1.lblClientNum.Caption := 'Ok';
移至RemoteDataModuleDestroy事件中,结果正常运行,在客户端断开与服务器的连接后,服务器主窗体是显示了‘Ok’。
但是我是先运行服务器程序,后运行客户端程序的,
为什么在RemoteDataModuleCreate事件不能修改主窗体的内容呢?
我想在客户端连接至服务器时,在服务器主窗体能有所提示,该如何做呢?
谢谢各位了!!!!
 
DELPHI 自帶有一個SetParam例子,看一下.
 
写在form的OnShow里面啊
 
多人接受答案了。
 
后退
顶部