进程外COM服务器执行

时间:2012-09-12 23:39:28

标签: delphi com

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

2 个答案:

答案 0 :(得分: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');

答案 1 :(得分:4)

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