Delphi 2005 OCX プロジェクトを XE2 に変換したため、元の TLB が RIDL に変更されました。ビューの使用 | XE2 のタイプ ライブラリは Delphi 2005 に似ており、すべてのインターフェイスとプロパティ/メソッドを確認できます。
元の 2005 プロジェクトには、元の TLB から生成された _TLB.pas ユニットが既にありましたが、新しいプロパティを追加する必要があったため、先に進んで RIDL にそれを行い、「実装の更新」オプションを選択しました。
ただし、元の _TLB.pas には、次のようなセクションが最後近くに含まれていました。
// *********************************************************************//
// OLE Control Proxy class declaration
// Control Name : TTransControlSHX
// Help String : TransControlSHX Control
// Default Interface: ITransControlSHX
// Def. Intf. DISP? : No
// Event Interface: ITransControlSHXEvents
// TypeFlags : (34) CanCreate Control
// *********************************************************************//
TTransControlSHX = class(TOleControl)
RIDL から生成された新しい _TLB.pas ファイルには、このセクションは含まれていません。
どうすれば元に戻せますか? これがないと、OCX を使用するすべてのアプリケーションで、TTransControlSHX が宣言されていない識別子であると不平を言われます。