重複の可能性:
登録なしのCOM / DLL?
私は、主にアプリケーションを集約するために、Delphiで記述された多くのActiveXコントロールを使用するアプリケーションをサポートしています。これらは現在登録する必要があります。これは問題ありませんが、乱雑です。Delphi(またはその他の非.NETソリューション)で記述されたDLLを並べて(またはreg-free-com)入手した人はいますか?
重複の可能性:
登録なしの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 依存関係セクション全体を削除してください。