Delphi 是否在运行时创建DSServerClass?
有人知道如何在运行时创建和运行DSServerClass吗 如果我在DSServer启动(在运行时)之前创建它,那么一切都很好,该类可以在客户端找到。 但如果我在DSServer启动后创建它,客户端将找不到该类 我是否应该在设计时为每个表手动创建100多个DSServerClass,并为每个联接表手动创建其他DSServerClass 如有任何建议,将不胜感激。Delphi 是否在运行时创建DSServerClass?,delphi,datasnap,Delphi,Datasnap,有人知道如何在运行时创建和运行DSServerClass吗 如果我在DSServer启动(在运行时)之前创建它,那么一切都很好,该类可以在客户端找到。 但如果我在DSServer启动后创建它,客户端将找不到该类 我是否应该在设计时为每个表手动创建100多个DSServerClass,并为每个联接表手动创建其他DSServerClass 如有任何建议,将不胜感激。 谢谢。Andreano Lanusse有两篇关于在运行时创建DataSnap DSServerClass的博文。也许那里的信息可以帮助
谢谢。Andreano Lanusse有两篇关于在运行时创建DataSnap DSServerClass的博文。也许那里的信息可以帮助你
第一种方法是发送一个表名参数,如下所示
procedure ActiveRecord(const TableName:string;Id:Integer);
begin
// do something
end;
另一种方式 它仍然不能解决我的问题。我的模块是从TDSServerModule继承的TBasicDBServModule。serverclass是建议的TSimpleServerClass,单击按钮注册该TSimpleServerClass,TBasicDBSrvModule作为持久类参数。在调试模式下,我发现从未调用过TSimpleServerClass.GetDSClass方法。有什么不对劲吗?我从建议的站点学到了一些东西,请看一下注册类的这一行:Assert(AServer.start=false,'Can't add class to non-active Server');当我调试该行时,我发现在服务器启动时,新的serverclass永远不会添加。这意味着当服务器启动时,您将无法添加新的serverclass。如果服务器未启动,将执行下一行。assert(condition,alertMsg)如果condition为false,则会出现alerMsg,并且服务器不会执行下一行。start=false;-->如果服务器停止,则为TRUE;如果服务器停止,则为falsestarted@theodorusap:正确。若服务器正在运行,则不能添加或更改serverclass方法。您必须重新启动服务器,客户端才能看到新的serverclass方法。因此,我想在服务器运行时添加新的serverclass是没有答案的。服务器应该重新启动。无论如何,感谢这些链接,我用它们对我的模块进行了一些修改。