对不起,我的英语, 我已经迁移客户端和服务器,一切运行良好, ,直到我注意到服务器的远程数据模块不能正常工作。当我从需要更多的时间在客户端运行的查询,其他远程数据模块依然被搁置(包括与主thred)。它的行为像线程模型是tmSingle。我环顾四周,试着找到没有成功的一切。更为奇怪的是,我注册了新的服务器(与XE6建造),旧(与D7建造)开始给相同的症状。从Delphi 7到XE6的DataSnap迁移
在安装机器上的新服务器正在运行alredy旧我用
xxxxx.exe/unregserver(旧的)和
xxxxx.exe/REGSERVER(新一个),然后是显而易见的问题。即使我取消注册新服务器,并注册旧服务器,问题仍然存在。
的客户机和服务器通过的DataSnap插座(带TSocketConnection和TConnectionBroker客户端)进行通信。
这里是服务器
一些信息Server_TLB
unit Server_TLB;
uses Windows, ActiveX, Classes, Graphics, Midas, StdVCL, Variants;
const
LIBID_Server: TGUID = '{xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx}';
IID_IrdmServer: TGUID = '{xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx}';
CLASS_rdmServer: TGUID = '{xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx}';
IrdmServer = interface;
IrdmServerDisp = dispinterface;
rdmServer = IrdmServer;
IrdmServer = interface(IAppServer)
['{xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx}']
........... methods..........
IrdmServerDisp = dispinterface
['{xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx}']
........... methods..........
CordmServer = class
class function Create: IrdmServer;
class function CreateRemote(const MachineName: string): IrdmServer;
implementation
uses ComObj;
class function CordmServer.Create: IrdmServer;
begin
Result := CreateComObject(CLASS_rdmServer) as IrdmServer;
end;
class function CordmServer.CreateRemote(const MachineName: string): IrdmServer;
begin
Result := CreateRemoteComObject(MachineName, CLASS_rdmServer) as IrdmServer;
end;
end.
创作
Forms.Application.ShowMainForm := False;
Forms.Application.Initialize;
Forms.Application.CreateForm(TdmServer, dmServer);
Forms.Application.CreateForm(TfMain, fMain);
windows.PostMessage(fMain.Handle, MSG_INITIALIZE, 0, 0);
Forms.Application.Run;
与RDM
initialization
TComponentFactory.Create(ComServer, TrdmServer,
Class_rdmServer, ciMultiInstance, tmFree);
..the序列..initialisation STANDAR d SocketDispatcher和非标准SConnect
而且alredy与设置键tryed
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx}\InprocServer32]
"ThreadingModel"="Free" or "Both"
我错过了什么东西?
谢谢你的帮助!
我已经与创建DataSnap服务器/客户端的新的简单测试,似乎很好地工作。但是D7和XE6服务器的体系结构是不同的。我无法比拟的东西。明天再见。谢谢。 – user2949632 2014-11-03 21:01:19