任何人都知道如何在运行时创建并运行DSServerClass?运行时创建DSServerClass?
一切都很好,如果我在DSServer开始之前(运行时)创建它,在客户端找到类。 但是,如果我在DSServer启动后创建它,客户端将无法找到该类。
我应该在设计时为每个表和其他每个连接表的其他DSServerClasses手动创建超过100个DSServerClasses吗?
任何建议,将不胜感激。 谢谢。
任何人都知道如何在运行时创建并运行DSServerClass?运行时创建DSServerClass?
一切都很好,如果我在DSServer开始之前(运行时)创建它,在客户端找到类。 但是,如果我在DSServer启动后创建它,客户端将无法找到该类。
我应该在设计时为每个表和其他每个连接表的其他DSServerClasses手动创建超过100个DSServerClasses吗?
任何建议,将不胜感激。 谢谢。
Andreano Lanusse有两篇关于在运行时创建DataSnap DSServerClass的博文。也许那里的信息可以帮助你。
http://www.andreanolanusse.com/en/registering-datasnap-server-class-in-runtime-with-delphi/
第一种方式是发送一个参数表名这样
procedure ActiveRecord(const TableName:string;Id:Integer);
begin
// do something
end;
这是什么意思? – theodorusap
它仍然不能纠正我的问题。我的模块是从TDSServerModule继承的TBasicDBSrvModule。建议的serverclass是TSimpleServerClass,按钮单击以注册该TSimpleServer类,并将TBasicDBSrvModule作为持久类参数。在调试模式下,我发现TSimpleServerClass.GetDSClass方法从不调用。有什么不对? – theodorusap
我从建议的网站上了解到的东西,看看这一行的注册类: 断言(AServer.Started = false,'无法将类添加到非活动服务器'); 当我调试该行时,发现服务器启动时,新的serverclass永远不会添加。 这意味着,当服务器启动时,您将无法添加新的服务器类。 如果服务器未启动,下一行将被执行。 断言(条件,ALERTMSG) 如果条件为假,alerMsg出现和下一行不会被执行 Aserver.started = FALSE; - 如果服务器已停止,假如果服务器开始 – theodorusap
@theodorusap> TRUE:正确。如果服务器正在运行,则无法添加或更改serverclass方法。您必须重新启动服务器,以便客户端能够查看新的serverclass方法。 – Erwin