Delphi では、ActiveX コントロールを作成することが、現在よりも一般的になりました。ただし、Delphi で ActiveX コントロールを作成することは引き続き可能です。この質問はDelphi 2007を想定していますが、使用するDelphiのバージョンに関係なく同じはずです。
ActiveX コントロールを作成すると、Delphi で奇妙なエラーが発生します。私の場合、インポートしてラップしようとしている特定のクラスをインポートできなくなりました.Delphiは、ユニットの「シンボル情報」をロードできなかっただけで、理由を教えてくれません.
この場合、オープン ソース コントロールをラップしています。最初の数回のラップの試みはうまくいきましたが、ActiveX ラッパーが見落とされている方法で記述されたプロパティを見つけた後、インポートをやり直す必要があることがわかりました。手で修正するよりも、ActiveX ラッパーを再生成する方が簡単です。このように冷たく止まるまで:
Error
Could not load unit [unit] symbol information for [TClassName].
Do you want to try to find this file yourself?
[はい] をクリックすると、参照 (ファイルを開く) ダイアログが表示され、ファイル フィルターが "DCU" に設定されています。つまり、このユニットの DCU ファイルを見つけてほしいということです。参照してもしなくても、結果は同じです。いくら再コンパイルしても、このエラー状態は解消されません。
このエラーが実際に何を意味するのか、さらに良いことに、それを修正する方法を誰かが知っていますか? この特定のエラー メッセージをグーグルで検索すると、英語以外のフォーラムで出てくることがわかりますが、まだ誰も文書化していないため、あいまいです。