Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 是否在运行时创建DSServerClass?_Delphi_Datasnap - Fatal编程技术网

Delphi 是否在运行时创建DSServerClass?

Delphi 是否在运行时创建DSServerClass?,delphi,datasnap,Delphi,Datasnap,有人知道如何在运行时创建和运行DSServerClass吗 如果我在DSServer启动(在运行时)之前创建它,那么一切都很好,该类可以在客户端找到。 但如果我在DSServer启动后创建它,客户端将找不到该类 我是否应该在设计时为每个表手动创建100多个DSServerClass,并为每个联接表手动创建其他DSServerClass 如有任何建议,将不胜感激。 谢谢。Andreano Lanusse有两篇关于在运行时创建DataSnap DSServerClass的博文。也许那里的信息可以帮助

有人知道如何在运行时创建和运行DSServerClass吗

如果我在DSServer启动(在运行时)之前创建它,那么一切都很好,该类可以在客户端找到。 但如果我在DSServer启动后创建它,客户端将找不到该类

我是否应该在设计时为每个表手动创建100多个DSServerClass,并为每个联接表手动创建其他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是没有答案的。服务器应该重新启动。无论如何,感谢这些链接,我用它们对我的模块进行了一些修改。