對不起,我的英語, 我已經遷移客戶端和服務器,一切運行良好, ,直到我注意到服務器的遠程數據模塊不能正常工作。當我從需要更多的時間在客戶端運行的查詢,其他遠程數據模塊依然被擱置(包括與主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