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