可能重复:免注册COM / DLL?
我支持一个使用Delphi编写的大量ActiveX控件的应用程序,主要用于将应用程序聚合在一起 . 这些目前必须注册,这是好的,但不整洁 . 有没有人为Delphi(或任何其他非.NET解决方案)编写的DLL并排(或reg-free-com)?
您可以使用Delphi并行注册免费COM,我相信您需要编写这样的清单文件,这是一个不精确且不完整的示例,但如果您按照各个地方可用的信息,并替换您自己的类和接口,我相信这显示了您需要做的最少量的条目:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity version="14.0.3615.26342" processorArchitecture="*" name="MyApp" type="win32"></assemblyIdentity> <description>my app description</description> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"></assemblyIdentity> </dependentAssembly> </dependency> <file name="MyComObject.DLL" hashalg="SHA1"> <comClass clsid="{AA67839B-8AF0-4651-BDEE-96F01E44A682}" tlbid="{2E23AF44-33A0-48AD-88A9-948B004E0982}" description="MyClass"></comClass> <typelib tlbid="{EEEEEEE4-33A0-48AD-88A9-948B004E0982}" version="1.0" helpdir="" flags="FLAGS"></typelib> </file> <comInterfaceExternalProxyStub name="IMyThing" iid="{AAAAAAAA-4584-4AEE-9FA0-667460953082}" tlbid="{2E23AF44-33A0-48AD-88A9-948B004E0982}" proxyStubClsid32="{AAAAAAAA-0000-0000-C000-000000000046}"></comInterfaceExternalProxyStub> </assembly>
你可以在这里找到更多帮助:
http://www.mazecomputer.com/sxs/help/inside2.htm
至于在Delphi中使用清单,必须将它包含在RC文件中,然后将该RC文件链接到EXE,并且不要检查项目选项(Delphi 2007或更高版本)中的“启用Windows主题”复选框将覆盖您尝试链接的清单 . 上面引用“Microsoft.Windows.Common-Controls”的部分是您识别Delphi / VCL应用程序主题的方式,因此如果您不想这样,请将整个XML依赖部分取出 .
1 回答
您可以使用Delphi并行注册免费COM,我相信您需要编写这样的清单文件,这是一个不精确且不完整的示例,但如果您按照各个地方可用的信息,并替换您自己的类和接口,我相信这显示了您需要做的最少量的条目:
你可以在这里找到更多帮助:
http://www.mazecomputer.com/sxs/help/inside2.htm
至于在Delphi中使用清单,必须将它包含在RC文件中,然后将该RC文件链接到EXE,并且不要检查项目选项(Delphi 2007或更高版本)中的“启用Windows主题”复选框将覆盖您尝试链接的清单 . 上面引用“Microsoft.Windows.Common-Controls”的部分是您识别Delphi / VCL应用程序主题的方式,因此如果您不想这样,请将整个XML依赖部分取出 .