6

我已经将一个古老但仍然有用的 Delphi 5 应用程序变成了一个进程外 COM 服务器。我隐约记得有一种方法可以判断它是由用户直接启动还是作为服务器启动。我知道我以前做过,但我不记得/不知道怎么做。一个命令行开关,也许?

4

2 回答 2

7

我不知道这在 Delphi 5 中是否可用,但在 Delphi 2010 中,您可以查询全局 ComServer 对象的启动模式:

if ComServer.StartMode = smAutomation then
  ShowMessage('started as automation server')
else if ComServer.StartMode = smStandalone then
  ShowMessage('started manually');
于 2012-09-13T07:05:09.503 回答
4

当作为 COM 服务器启动时,似乎该 exe 是通过开关“-Embedding”启动的。

于 2012-09-13T02:38:12.533 回答