喫茶XRAYトップページ

[スレッド全体
]

[2929] Delphi2010でIndyのサンプルをテスト返信 削除
2010/1/10 (日) 13:37:03 Mr.XRAY
みなさんこんにちは.

http://mrxray.on.coocan.jp/Delphi/plSamples/773_Indy_FTPGetPut.htm

をDelphi2010のコードにしようかと,やり始めました.
Windows XP(SP3) + Delphi2010(UP5)です.
Delphi2010に入っているIndyは10.5.5です.

FTPGetのサンプルをいざ実行! あれ?
'ファイルが見つかりません.'

調べたら,FileSize := IdFTP1.Size(SourceFile); に-1が戻っています.
ソースを追いかけたが分かりません.
そこで,このファイルサイズの検出部分をなくして実行.
見事ダウンロードできるようになりました.
いくつかのzipファイルで確認.OKでした.

Delphi2009でも同じ現象です.

ダウンロードサイトに行ってみました.
ftp://indy.fulgan.com/ZIP/
非常に最近のがありました(2010/01/10版)
ダウンロードしてDelphi2009にインストール

http://homepage1.nifty.com/ht_deko/tech033.html
(ありがたいですな〜.感謝,感謝).

おっ,Sizeメソッドが有効になっている.と喜んだのもつかの間でした.
ダウンロードしたファイルサイズが少し大きく,壊れた書庫になっています.
う〜ん.困りました.
Indyさんお願い.頼りにしていまっせ.

という訳で,Delphi2009以降への対応は見送りといたします.
ちなみにIndyのバージョンは,10.5.7になりました.


[2930] Re:Delphi2010でIndyのサンプルをテスト返信 削除
2010/1/11 (月) 00:26:58 たたみや
▼ Mr.XRAYさん

マスター、明けましておめでとう御座います。
本年も宜しくお願い致します。
早速ですが、

> 調べたら,FileSize := IdFTP1.Size(SourceFile); に-1が戻っています.
> ソースを追いかけたが分かりません.
> そこで,このファイルサイズの検出部分をなくして実行.
> 見事ダウンロードできるようになりました.
> いくつかのzipファイルで確認.OKでした.


私も昨年XP(sp3)+delphi6+Indy10(バージョンは忘れました)の環境で
ファイルサイズをチェックする関数を試しましたが、同様の結果でした。
これはあてに出来ないと思い、この部分は無視してDL処理するようにしました。

> おっ,Sizeメソッドが有効になっている.と喜んだのもつかの間でした.
> ダウンロードしたファイルサイズが少し大きく,壊れた書庫になっています.

何と!?
新しいのでもだめでしたか。。。
蛇足だとは思いますが、オプションの指定で、アスキーかバイナリかの指定が
あったと思いましたが、この指定が明確でないと失敗したような気がします。

マスターと同じくIndy10のインストール時には、Dekoさんのページには
お世話になりました。
私も倣って激しく感謝ですm(__)m

[2931] Re2:Delphi2010でIndyのサンプルをテスト返信 削除
2010/1/11 (月) 09:53:52 Mr.XRAY
▼ たたみやさん

こちらこそ,今年もよろしくお願い致します.
Indy,やはり苦労されましたか.

Indyはバグが多いから,という内容の記事もネット上で見かけますが,
あれだけの機能を実現するには大変です.
便利に使いたいです.
なんとか頑張ってもらいたいものです.

ダウンロードサイトも確認しながら,いろいろチェックしていくつもり
です.


[2941] Re3:Delphi2010でIndyのサンプルをテスト返信 削除
2010/1/14 (木) 02:14:42 taka
みなさん こんばんは。

>FileSize := IdFTP1.Size(SourceFile); に-1が戻っています.
IndyのFTPは使ったことは無いですけど、
ソースのLib/Protocols/IdFTP.pasの
TIdFTP.Size にあるコメントを要約すると
 ASCII modeは、サーバーがサイズを拒否するので、
 一時的に内部でftBinary モードに変更して、
 サイズを取得し その後、元のモードに復帰すると書いてあります。
コードもそのような感じでかいてあります。
コメントの日付が、 03/13/2009になっているので
それ以前の日付のindyだとASCII modeだと失敗するのでしょう。

>ダウンロードしたファイルサイズが少し大きく,壊れた書庫になっています.
もしかして、目からX線照射して壊したのでは? ビビビーっと。

暇なとき思い出したら、鉛エプロンつけて、私もidFTP.get試してみます。


[2942] Re4:Delphi2010でIndyのサンプルをテスト返信 削除
2010/1/14 (木) 10:03:15 Mr.XRAY
▼ takaさん

ソース追いかけてくださったんですか.どうもです.

> もしかして、目からX線照射して壊したのでは? ビビビーっと。

あっ,これは内緒です.実は私は何を隠そう,銀河系の,とある星から
地球に派遣された監視員なのです.
現在の宇宙年齢は10万... です
デーモン小暮閣下とは遠い親戚筋です.


[2943] Re5:Delphi2010でIndyのサンプルをテスト返信 削除
2010/1/14 (木) 10:23:48 Mr.XRAY
> 銀河系の,とある星から

もう何万年も実家に帰ってないな〜.
(いいがげんにしろ?)

http://tanshin-ganba.cocolog-nifty.com/photos/uncategorized/2008/07/27/andromedargb12small.jpg


[2945] Re6:Delphi2010でIndyのサンプルをテスト返信 削除
2010/1/15 (金) 15:45:32 taka
あっ!!!
たたみや さんが すでに現地入りしていたではありませんか!!

>蛇足だとは思いますが、オプションの指定で、アスキーかバイナリかの指定が
>あったと思いましたが、この指定が明確でないと失敗したような気がします。




[2948] Re7:Delphi2010でIndyのサンプルをテスト返信 削除
2010/1/15 (金) 17:20:23 Mr.XRAY
▼ takaさん

おおっ,情報ありがとうごさいます.
では,また再挑戦してみますか.
いつになることやら.... (^^;

でも,このBinaryとAsciiの件勘違いしていたようです,UPの時だけ設定
が必要だと思っていました.
今考えてみたら,Getされる側からみたらUPになるのか?


[2951] Re8:Delphi2010でIndyのサンプルをテスト返信 削除
2010/1/16 (土) 16:16:04 たたみや
▼ マスター & takaさん

こんにちは、

> でも,このBinaryとAsciiの件勘違いしていたようです,UPの時だけ設定
> が必要だと思っていました.

同じく、そう思っていました。
getの時は自動判別かと。。。


>多分オブジェクトインスペクタでの設定は,Get前の初期化時にでもデフォルトに
>戻ってしまうのでしょう.ということにしておきます.

ここら辺なんでしょうね。。。
マスターと同じ地雷踏んでしまいましたね(^^;;)



[▼次のスレッド]
INCM/CMT
Cyclamen v3.82