Delphi 7服务的Application.DelayInitialize替代方案?

Delphi 7服务的Application.DelayInitialize替代方案?,delphi,delphi-7,dcom,Delphi,Delphi 7,Dcom,Delphi 7是否有Application.DelayInitialize的替代方案?我正在尝试创建一个Delphi7服务,它承载一个COM服务器,但它不起作用,我相信这是因为我没有使用Application.DelayInitialize 我使用BCB6编写了几个COM托管服务,它们在Win9x以后的所有Windows版本中都可以正常工作,因此我不得不多次处理相同的问题 只需在Win2003+上的进程启动时不调用Application.Initialize(),等待TService的OnSt

Delphi 7是否有Application.DelayInitialize的替代方案?我正在尝试创建一个Delphi7服务,它承载一个COM服务器,但它不起作用,我相信这是因为我没有使用Application.DelayInitialize


我使用BCB6编写了几个COM托管服务,它们在Win9x以后的所有Windows版本中都可以正常工作,因此我不得不多次处理相同的问题

只需在Win2003+上的进程启动时不调用
Application.Initialize()
,等待
TService
OnStart
OnExecute
事件调用它即可。这样,服务API在初始化任何COM对象之前运行

诀窍是仅在Win2003+上且仅在服务实际运行时延迟对
Application.Initialize()的调用。如果出现以下情况之一,请勿延迟通话:

  • 该服务在2003年以前的Windows版本上运行
  • 正在(取消)安装服务时
  • 当COM对象正在(取消)注册时
  • 在这些情况下,通常在进程启动时调用
    Application.Initialize()


    因此,您需要检查操作系统版本和命令行参数,以了解何时正确调用
    Application.Initialize()

    我使用BCB6编写了几个COM托管服务,它们在Win9x以后的所有Windows版本中都能正常工作,因此我不得不多次处理相同的问题

    只需在Win2003+上的进程启动时不调用
    Application.Initialize()
    ,等待
    TService
    OnStart
    OnExecute
    事件调用它即可。这样,服务API在初始化任何COM对象之前运行

    诀窍是仅在Win2003+上且仅在服务实际运行时延迟对
    Application.Initialize()的调用。如果出现以下情况之一,请勿延迟通话:

  • 该服务在2003年以前的Windows版本上运行
  • 正在(取消)安装服务时
  • 当COM对象正在(取消)注册时
  • 在这些情况下,通常在进程启动时调用
    Application.Initialize()


    因此,您需要检查操作系统版本和命令行参数,以了解何时正确调用
    Application.Initialize()

    我认为我的服务需要执行X。它不执行X。是否有替代执行X的方法?我理解正确了吗?除此之外,你是如何诊断问题的。你能清楚地说明问题是什么吗?我相信我的服务需要做X。它不能做X。除了做X,还有其他选择吗?我理解正确了吗?除此之外,你是如何诊断问题的。你能把问题说清楚吗。