日記帳
本ページはプロモーションが含まれています
カテゴリー
Links
blog(ブログ)マスター
アンドロイドの巣
ゼロから始めるベランダ菜園
タイトル
ラジコン
2024年5月
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

Indyの最新版のインストールの仕方[Delphi2005]

2007-01-05

Indyの最新版のインストールの仕方[Delphi2005]


執筆:2007.01.05
編集:2007.03.19
編集:2007.07.09
編集:2007.07.18
編集:2007.11.24
編集:2009.10.16
編集:2015.11.21
編集:2017.04.07


記事の内容が古いので注意してください。 最新の内容ではありません。

10.0.52は、かなり古いので
cookieのドメインの最初が .で始まっていると処理できずエラーになります。
(IdCookie、IdCookieManager)
(10.1.6でも直っていませんでした。:2007.3、2007.7)
(10.2.3でも直っていませんでした。:2007.10)
(10.5.7 IndyTiburon.zipで修正されているようです。:2009.10)
(10.6.2.0 svnid:5315 : 2015-11 修正が必要でしたがDelphi2005にインストールできました)
(10.6.2.0 svnid:5412 : Delphi2005にインストールできました)


最新版のインストール方法

最新版の入手先

ダウンロード http://www.indyproject.org/Sockets/Download/DevSnapshot.en.aspx
ZIP/Indy10_~.zip をダウンロード。

svn http://www.indyproject.org/Sockets/Download/svn.EN.aspx

https://svn.atozed.com:444/svn/Indy10/trunc


●展開します

パッチなどがあれば手動で適用してください。
  Lib\Core, Lib\Protocols, Lib\System
内の必要な 〜.dpk を開き 大抵は90がついています
{$RANGECHECKS ON}を行ごと削除するか OFFに変えます。
他の不必要な物も検討して削除します。
理由は、ソース内の指令は最高優先度だからです。(※1)
(なので、定義済みのそれらをコマンドラインやプロジェクトで指定しても反映されません。)

Dev Snapshotは、そのままだと
Indyは、RANGECHECKエラーなどで使い物になりません。


{$DEBUGINFO ON}なども消していいと思います
※わからない場合は、stable版のソースをみるといいでしょう。

変更したdpkをフォルダ構造を同じにして
他のフォルダにそれだけコピーしておくと次回の更新でとても幸せになれます。
 
(※1) 【ヘルプファイル名】
Borland Delphi 6\ヘルプ\Delphi の使い方
【キーワード】
キーワードに下のいずれかをそのままコピペすると表示されます
コンパイラ指令,条件指令
コンパイラ指令,オプション
  ソースコードのコンパイラ指令は,コマンドラインのコンパイラ指令および IDE のプロジェクトオプションに常に優先します。
  一発検索する方法
1.テキスト検索を選びます。
2.テキスト検索オプションで
  入力した後を同じ語順で含むトピック
  を選びます。
3.以下のテキストをコピペします。
  ソースコードのコンパイラ指令
4.トピックを選んで表示を押すと該当個所に飛びます。
  (私の力では、D2やD2005での該当記述を見つけることができませんでした。)


●indy10\Libにcmd.exe(dosプロンプト)で移動します。
 ・ indy10\Lib\Computil.dprをコンパイルしてファイルを作成。
   生成: dcc32.exe Computil.dpr
   で作成できます。
   もちろんComputil.dprクリックしてIDEを起動してコンパイルを押してもかまいません。
   お好きな方でどうぞ。

● Fulld_2005.bat (Fulld9.bat)
  をクリック。
   (コンパイル時のエラー対策に、DOSプロンプトをお勧めします)

   dcuやパッケージがD9フォルダに出力されています。

●Delphi2005を起動し、ツールライブラリパスの
$(BDS)\LIB\INDY10

$(BDS)\LIB\INDY10\D9に変更します。

●パッケージのインストールで
   dclIndyCore90.bpl
   dclIndyProtocols90.bpl
  を削除します

   Delphiがハンドルを握ったままなので

●Delphi2005を再起動しましょう。

●パッケージのインストールで
$(BDS)\LIB\INDY10\D9

dclIndyCore90.bpl
dclIndyProtocols90.bpl
などを入れ直して完了です

※C:\WINDOWS\SYSTEM32にも入っているのでそれでもいいようです。
$(BDS)\BINフォルダ内の古い *indy*.bpl はどこかに隔離したほうが無難でしょう


Indyのバージョンの確認方法
(新規フォームにボタンを貼って、コードを置き換えてください)

uses IdAbout;

procedure TForm1.Button1Click(Sender: TObject);
begin
  IdAbout.ShowDlg
end;


パッチ:

リンク

レベル 概要
上述 ソース内のオプションは、最高優先度なので、
利用する dpk ソース内のオプションを必要に応じて変更します
詳細へ クッキー

Indy10 (2007年3〜10月 時点)
  version 10.0.52 , DevSnapshot 10.1.6, 10.2.3
Indy9    (2007年7月中旬 時点)
 
version 9.0.5.0(stable), 9.0.18(stable), DevSnapshot

概要:違うドメインにクッキーを渡してしまうなど・・・

詳細へ IsValidIP (〜2007.7)
Fixed 2009年10月

おまけ:
-----------------------
ssl通信のはじめにエラー
最新版は、どうも一緒に配布してあるdllだと古くてエラーになるようです。
 ソースコードを見ると以下のようにありました。
 自分でコンパイル済みのdll最新版を入れるようにだと・・・
 インストールするとシステムフォルダにdllがインストールされるようです。

Indy OpenSSL now uses the standard OpenSSL libraries
for pre-compiled win32 dlls, see:
http://www.openssl.org/related/binaries.html
recommended v0.9.8a or later



追記:2007年7月
Indy10\Testを使うには
  ○ソースを\IndyLiveに置く(普通は嫌ですよね!!)
そのまま どこでも使うには

  IndyDUnit.dofのSearchPathの
  \IndyLiveを..\..\にメモ帳などで一括置換するとそのまま使えます。

そしてIndyDUnit.dprをdelphiで起動します。

※メインテナンスが悪いようなので
コンパイルエラーがでるときがあるようです。
宣言の型を間違っている場合は、Indy\Testの該当部分をIndy\Libのソースからコピーして
貼り付ければ大抵なおります。
型変換が合わないときは、型変換などで解決できます

必要がないなら、Indy\IdRegisterTests.pas
の該当ユニットを //でコメントしてはずすという手もあります。

Tips
  たまにIndyのバージョンによってはアイコン画像がでないことがあります。
  もしIDEでアイコン画像がでないときには
 $(BDS)\LIB\INDY10\D9
 に、resファイルを配置すると表示されることがあります。
 エクスプローラーのフォルダ検索機能などで、
 $(BDS)\LIB\INDY10\libで検索を押し
 ファイル名 *.res での結果をすべて選択してコピーするといいでしょう。
 上書きがでた場合は、新しい方を残しましょう。

DOSプロンプトがいい人は
indy\libフォルダで
for %f  in (core\*.res System\*.res Protocols\*.res) do echo %f ..\D9\

echoをcopy構文に変えるとコピーできます(誤操作防止にわざとechoに変えてあります)。
なぜか .resourcesが引っかかります。
あまりお勧めしません。
  強制終了は、CTRL+Cです。



トラックバック
トラックバックはありません。
PR

[PR]