2

今まで問題なく Indy 10 を使用してきましたが、TMS コンポーネント パックのインストールに関する最近の問題の後、Indy をアップグレードする別の方法を探しています。TMS は CB2010 を使用してクリーン システムに正常にインストールされますが、以下の手順を使用して Indy をアップグレードすると、IDE の起動時および TMS のインストール直後にエラーが発生します - エラーは次のとおりThe procedure entry point @Idhttp@TidCustomHTTP@GetRequestHeaders$qqrv could not be located in the dynamic link library IndyProtocols140.bplです。TMSはIndyアップグレードなしでクリーンインストールでインストールするため、明らかに私の側に問題があります。

したがって、Indy ファイルを新しいバージョンで上書きすると、正しくインストールされる可能性があります。

私が現在使用している Indy アップグレードのインストール手順は次のとおりです (TMS のインストールまでは機能していました)。

  1. IDE を起動Indy10 Protocols Design TimeしてIndy10 Core Design Timeパッケージを削除する

  2. 古い Indy ファイルを削除する次のスクリプトを実行します。

    del /q "c:\Program Files\Embarcadero\RAD Studio\7.0\lib\Indy10\*.*"
    del /q "c:\Program Files\Embarcadero\RAD Studio\7.0\lib\debug\Indy10\*.*"
    del /q "c:\Program Files\Embarcadero\RAD Studio\7.0\include\Indy10\*.*"
    del /q /s "c:\Program Files\Embarcadero\RAD Studio\7.0\source\Indy\Indy10\*.*"
    
    
    del "c:\Program Files\Embarcadero\RAD Studio\7.0\lib\debug\IndyCore.bpi"
    del "c:\Program Files\Embarcadero\RAD Studio\7.0\lib\debug\IndyCore.lib"
    del "c:\Program Files\Embarcadero\RAD Studio\7.0\lib\debug\IndyProtocols.bpi"
    del "c:\Program Files\Embarcadero\RAD Studio\7.0\lib\debug\IndyProtocols.lib"
    del "c:\Program Files\Embarcadero\RAD Studio\7.0\lib\debug\IndySystem.bpi"
    del "c:\Program Files\Embarcadero\RAD Studio\7.0\lib\debug\IndySystem.lib"
    del "c:\Program Files\Embarcadero\RAD Studio\7.0\lib\release\IndyCore.bpi"
    del "c:\Program Files\Embarcadero\RAD Studio\7.0\lib\release\IndyCore.lib"
    del "c:\Program Files\Embarcadero\RAD Studio\7.0\lib\release\IndyProtocols.bpi"
    del "c:\Program Files\Embarcadero\RAD Studio\7.0\lib\release\IndyProtocols.lib"
    del "c:\Program Files\Embarcadero\RAD Studio\7.0\lib\release\IndySystem.bpi"
    del "c:\Program Files\Embarcadero\RAD Studio\7.0\lib\release\IndySystem.lib"
    del "c:\Program Files\Embarcadero\RAD Studio\7.0\bin\IndyCore140.bpl"
    del "c:\Program Files\Embarcadero\RAD Studio\7.0\bin\IndyProtocols140.bpl"
    del "c:\Program Files\Embarcadero\RAD Studio\7.0\bin\IndySystem140.bpl"
    del "c:\Program Files\Embarcadero\RAD Studio\7.0\bin\dclIndyCore140.bpl"
    del "c:\Program Files\Embarcadero\RAD Studio\7.0\bin\dclIndyProtocols140.bpl"
    
  3. 新しい Indy インストールを "c:\code\indy" に展開しIndySystem140.dpkIndyCore140.dpkIndyProtocols140.dpkdclIndyCore140.dpkdclIndyProtocols140.dpkの順に開きます。

  4. 上記の各パッケージのコンパイル オプションを変更しGenerate all C++ Builder files (including package libs)ます。

  5. すべてのパッケージを に設定Releaseし、上記の順序でビルドします。

  6. 最後の2つもインストール

  7. インクルード パスとライブラリ パスを「c:\code\indy\Core」に追加します (プロトコルとシステムについても同様)。

また、Indy に付属している FullC140.bat スクリプトをいじりましたが、上記のように適切にインストールしませんでした。

Indy を正常に更新し、その上に TMS をインストールした人はいますか?

バッチ スクリプトは削除すべきではないファイルを削除しますか?

4

1 に答える 1

4

エラーが発生している TMS パッケージは、IDE で事前にインストールされた Indy パッケージにリンクするようにコンパイルされています。Indy の IdHTTP.pas ユニットのインターフェイスが変更されたため (具体的には、 のGetRequestHeaders()メソッドがTIdCustomHTTPに名前が変更されましたGetRequest())、Indy のアップグレードにより TMS パッケージが破損します。エラーに対処するには、失敗した TMS パッケージを再コンパイルして、アップグレードされた Indy パッケージにリンクするか、IdHTTP.pas の変更を元に戻して Indy を再コンパイルする必要があります。

于 2012-02-27T09:18:35.347 に答える