多线程的应用程序服务器对主窗体的访问不用同步?? 在Delphi中如果一个新的线程对象要访问主窗体(比如要在主窗体的某个Edit控件中显示一个字符串)时,需要使用Synchronize方法,否则程序会崩溃。 但为什么在MIDAS的应用程序服务器的远程数据模块(每个远程数据模块在不同的Apartment线程)中访问主窗体时,不需要同步呢? 难道主窗体也是一个COM对象,主线程是Apartment线程,远程数据模块对主窗体的访问由主线程进行同步吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 还有个问题,如果在远程数据模块的Create事件中写了访问主窗体的代码(比如 MainForm.Edit1.Text := 'test!'),当客户端连接到应用程序服务器时,会使应用程序服务器失去响应,就像是进入了死循环,但没出现任何错误消息! 不知是什么问题?? 学习,关于第二个问题,是不是出了错?可以开两个delphi跟踪一下。我觉得第一个问题是不是因为一个远程服务就是一个进程,也就是说如果有两个客户的话,在系统中虽然只有一个远程服务的应用程序,但是却有两个进程?可以看一看是不是这样。 To idilent: 我的RemoteDataModule的设置为MultiInstance、Apartment。每一个客户对应一个Apartment线程,不是对应一个进程。关于第二个问题,从逻辑和语法上应该没有错。我调试时跟踪发现,好像程序一直死在线程的消息循环中了,不知道为什么? ""我试了一下,远程数据模块不能静态创建。而且即使能静态创建,那也没什么意义呀!""在delphi得Project->Option-->Forms中把远程数据模块从Avialable Forms调制为AutoCreate.因为,当一个客户端连接是,如果服务器启动时先创建得是远程数据模块,而不是主窗体,所以你得代码会出错. 同时连接2台以上数据库服务器 Accesss数据库——语法错误,操作符丢失 用Indy的Idftpserver写的一个服务器 挑战新难度---delphi+光笔扫描问题 求助-进销存权限控制 时间字段的 查询! 哭死啊!谁能指点我一下,我把分全给他。 怎样定义 Delphi Query 的刷新时间? 关于access问题 在线等待 如何把TADODATASET转换成IDispatch类型 delphi怎样调用boland C++ builder 的lib 各位大哥:如何做到像delphiide环境中那样,拖拉鼠标可以通过矩形框选则多个控件,多谢了
我试了一下,远程数据模块不能静态创建。而且即使能静态创建,那也没什么意义呀!""
在delphi得Project->Option-->Forms中把远程数据模块从Avialable Forms调制为AutoCreate.因为,当一个客户端连接是,如果服务器启动时先创建得是远程数据模块,而不是主窗体,所以你得代码会出错.