質問

ケース

Delphi XE(更新1)の最新バージョンにIndyを更新しようとしているので、最新のIndy10ファイル(indy_4545.zip)をダウンロードしました。 indy.fulgan.com/zip.

パッケージは正常にコンパイルされているので、About Boxダイアログで新しいバージョン10.5.8.0を見ることができますが、IDEの再起動後、私は次のようなメッセージを受け取りました。

No se encuentra el punto de antrada del procedimiento@idhttp@tidcustomhttp@getRequestheaders $ qqrv en la biblioteca devínculosdinámicosindyprotocols150.bpl。

英語への私の無料翻訳:

手順の入力ポイント@idhttp@tidcustomhttp@getRequestheaders $ qqrvダイナミックリンクライブラリIndyProtocols150.bpl。

古いidhttp.pasと新しいidhttp.pasをすばやく比較した後、いくつかの方法の名前を含むTidcustomhttpクラスで多くの変更が見つかりました

  • GetResponseHeadersをgetResponseにします
  • GetRequestHeadersをGetRequestにします
  • SetRequestheadersからSetRequest

このおよびその他およびクラスのインターフェイスで変更された公開/公開されたメソッド企業とともに。

更新後、DCLCXPIVOTGRIDOLAPD15.BPLを含む多くのパッケージがロードに失敗しました。

afaik dcldatasnapserver150.bplを再コンパイルすることはできません(そしておそらく他の失敗したパッケージ、ここで停止しました)。

IDEのDataSNapとDevexpressサポートは私の日々のために必須ですので

質問

  1. Delphi XEの最新のインディに更新するための安全な事前に確立されたパスはありますか?
  2. そうでない場合は、古いパブリックメソッドを作成して、実装パートの新しい方法を呼び出すだけで、ソースコードを処理するだけで安全な面にいますか?
  3. 私は何か他のものが足りないのですか、それとも次のデルファイマイナー/メジャーリリースまでインディ10.5.7に本当に固執していますか?
役に立ちましたか?

解決 3

他の人の答えと主にレミーのコメントから:

Delphi XEアップデート1でDataSNAPを破らずにIndy 10.5.8.0をインストールすることはできません。

他のヒント

Delphi XEのインディのインストール

はい、インストールプロセスは退屈ですが、それを正しく行うことは価値があります。

これは、SSLを除くすべてのインディコンポーネントのためです。 (私はまだSSLのものを試していません。)

A.) Delphiに付属のすべてのインディファイルを探して破壊します。インディプロジェクトが更新されるため、これらは良くありません 毎日 新しいバグ修正付き。 Delphiが新しいフレッシュインディライブラリの代わりに古いファイルのいずれかをピックアップすると、トレースが非常に難しいすべての異なる時間にIDEからクレイジーなエラーが発生します。

私。コンポーネントに移動します - >パッケージをインストールしてから、「Indy」から始まるすべてのパッケージを完全に削除します。

ii。デルフィを閉じます。

iii。 DelphiのBinフォルダーから「dclindy*.bpl」と「indy*.bpl」に一致するすべてのファイルを消去します。
(c:プログラムファイル embarcadero rad studio 8.0 bin)

IV。 DelphiのLIBサブフォルダーで「Indy*.dcu」と「id*.dcu」^^^に一致するすべてのファイルを消去します。
(c:プログラムファイル embarcadero rad studio 8.0 lib win32 debug)
(c:プログラムファイル embarcadero rad studio 8.0 lib win32 release)
^^^警告:「idispids.dcu」や「idoc.dcu」のような「id」の文字から始まるインディーでないdcusに注意してください

v。indy10ソースフォルダー全体を削除します。
(c:プログラムファイル embarcadero rad studio 8.0 source indy10)

B.) 最新のindy10_xxxx.zipからダウンロードしてください http://indy.fulgan.com/zip/(以下の手順のいずれかにこのzipファイルを使用してコンパイルエラーまたはランタイムエラーを取得した場合 - 落胆しないでください!翌日にzipファイルを再ダウンロードして再試行してください。このzipファイルは毎日更新され、特定の日にいくつかのバグ/エラーがある可能性があります。)

C.) システム、コア、およびプロトコルのみを独自のインディライブラリフォルダーに抽出します。元。
(c: mydelphicomponents indy core)
(c: mydelphicomponents indy system)
(c: mydelphicomponents indy protocols)

D.) Delphiを起動します。失敗したすべてのパッケージダイアログを無視します。これらは、インディに依存するエンバカデロパッケージです! (すべてのエラーを[OK]をクリックするだけで、故障したパッケージを再度ロードしないでください。)

E.) オプションに移動 - >環境オプション - > delphiオプション - >ブラウジングパス - $(bds) lib indy10で始まるパスを削除します

F.) オプションに移動します - >環境オプション - > Delphiオプション - >ライブラリパス - ステップCからDelphiのライブラリパスに新しいシステム、コア、およびプロトコルフォルダーを追加します。

G.) 次の5つのアクションを順番に実行します。(プロジェクトのアップグレードに関するダイアログにOKと言ってください。)


重要:

各DPKをロードした後、各ビルドの前に、次のように移動します。

プロジェクト - >オプション - >説明 - >コントロールを構築する

ラジオボタンを「明示的な再構築」に設定します。

(実際、これはオプションですが、私は常にパッケージをそのように処理しやすいように見えるので、パッケージを明示的に再構築しますが、他の人がこれについてどう思うか聞きたいです...)


  1. ビルド-System IndySystem150.dpk
  2. Build -Core indycore150.dpk
  3. 最初にビルドして、次にインストール-Core DClindyCore150.dpkをインストールします
  4. ビルド - プロトコル indyprotocols150.dpk
  5. 最初にビルドして、次にインストール-Protocols dclindyProtocols150.dpkをインストールします

**すべてのパッケージで「明示的な再構築」を設定していることを再確認してください! **

H.) 最後に、コンポーネントに移動します - >パッケージをインストールし、ステップDの間にオフになったインディに依存しているすべてのパッケージを見つけて、それらを再活性化し、Delphiを再起動します。 (新しいインディがデルファイと共にリリースされたものからあまり変更されていない場合、それらのパッケージは新しいインディを使用します!)

++注意してください。これらのエンバカデロパッケージを再活性化するときにすぐにエラーを受け取らない場合がありますが、ランダムな時間にポップアップする場合があります。たとえば、Indy10_4548.zipをインストールしたばかりで、すべての再活性化パッケージは問題なく見えました。それから青から1日後、IDEはTidCustomHttpでGetRequestheadersを見つけることができず、dclwindowsazure Management150.bplが結果として問題を抱えていると言ったメッセージを私に投げました。だから私は戻って、IDEのWindows Azureパッケージを無効にしなければなりませんでした。

AFAIK Delphi、特に新しいDataSNAPに展開されたIndyバージョンに強く依存するパッケージを失うことになります。

必要なすべてのユニットが利用可能である限り、再コンパイルできない標準のパッケージの代わりに、使用するONWNパッケージを構築しようとすることができます。

Imho Embarcaderoは、インディのような「不安定な」ライブラリに応じて、独自のコードに関する解決策を見つける必要があります。特に、リリースから数か月以内にインディからのバグ修正を含む公式の更新をリリースできないため、プロの環境では受け入れられません。たとえば、最近、Indy 10.5.5のメールメッセージの解析は、10.5.8では発生しないメールアドレスが切り捨てられていることがわかりました。もちろん、10.5.5の動作は受け入れられません、私はアップグレードを余儀なくされています...

Delphi Xeは自分自身ではなく、2010年版を使用していますが。このスタックオーバーフロー投稿の助けを借りて、インディコンポーネントを最新バージョンにアップグレードすることができました。 Delphi 2009のIndy10のステップバイステップアップグレード

私は質問が2009年のことです(ただし、答えは2010年もカバーしています)が、それは2010年のバージョンでは私のために機能していたので、私の推測でもそうだと思います。コメントを読むことをお勧めします。なぜなら、いくつかの良いヒントもあるからです。お役に立てれば。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top