2012-01-22 15 views
0

私のプロジェクトでActiveXコンポーネントを使用しています。私は、Visual Studio 2010、2008年にこのコンポーネントを追加することができ、デルファイXE2、Visual Basic 6.0のが、私は、Delphiのバージョンにこれをインポートすることはできません5、6または7Delphi 7.0でのActiveXインストール

これは私のftpサーバでのActiveXファイルです:Active X File

+3

エラーメッセージは何ですか? –

+0

ActiveXを選択し、インストールボタンをクリックすると、コンパイルとインストール後、コンポーネントがパレットに表示されません。 タブで検索したが見つかりませんでした。 ActiveXファイルをダウンロードしてDelphi 7.0でテストできます – mehr

+0

デザインタイムパッケージにインストールしましたか? –

答えて

3

OK、私はこのOCXをダウンロードして登録し、あなたがしたことを複製しようとするほど勇気がありました。そして、はい、私はあなたの報告と同じ行動を見つけました。

そこで、XE2でインポートされたタイプライブラリユニットを調べました。 XE2では、コンポーネントがパレットに表示されます。ユニットの下部には、このコードは次のとおりです。

procedure Register; 
begin 
    RegisterComponents(dtlOcxPage, [TTAK_Control]); 
end; 

このコードは、パレットにコンポーネントを登録し、OCXはデルファイ6、私が手に持っている唯一の古いDelphiでインポートされたとき、それがありません。実際には、TTAK_Controlコンポーネント全体がインポートユニットにありません。インポートプロセスが失敗することがあります。

私は、インポートしたタイプライブラリファイルをXE2から取り出し、それをD6の同等のユニットの上にコピーしました。それはTAK_ControlBoard_TLBという名前のユニットです。 D6でコンパイルすると、UIntPtrが認識されなかったため、コンパイルエラーが発生しました。それをD6のCardinalに置き換えてください。その時点でコンパイルは成功し、コンポーネントがパレットに表示されます。

これをフォームに追加しようとすると、OLEエラーが生成されますが、コンポーネントについて何も知らないので、実際にはそれを手助けできません。このエラーは、XE2とD6の両方で発生します。

+0

ご協力いただきありがとうございます。 ActiveXの同じディレクトリにあるすべてのファイルをアップロードします。これらのファイルはインストール時に役立ちます。 http://packia.com/er/all.rar – mehr

+0

XE2では、ActiveXの追加と実行が成功しました。 – mehr

+0

私はそれらのコメントを理解していません。私はD7のインポートユニットを修正するために言ったことをしましたか? –

関連する問題