喫茶XRAYトップページ

[スレッド全体
]

[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


[2944] Re6:Delphi2010でIndyのサンプルをテスト返信 削除
2010/1/15 (金) 15:42:33 taka
▼ Mr.XRAYさん
> > 銀河系の,とある星から
やっぱりビームを・・・
被災地に調査隊が派遣され、報告が届いております。

ココだけの話なんですけど
 マスターの必殺技が
  Form1惑星のIdFTP1国のTransferType 居住区に命中しています

がれきの中で生きているftASCII人が触った物は、
改行の洗礼を受けて質量保存の法則に反して質量が増減するそうです。
そして、アスキー外の文字を触ると怒って叩き壊すそうです。

また、ftASCII人が触った物を元に戻してしまう不思議な能力をもった
質量保存の法則のゴッドハンドの持ち主のftBinary人が生き埋めになって
救助を求めています。

しかし、復興の目途が立っておらず、交通手段が閉ざされていて連絡が取れません。

でもご安心ください。
Form1惑星にTransferTypeコンボボックス衛生、TransferTypeチェックボックス衛生
TransferTypeラジオボックス衛生などを打ち上げると
IdFTP1国のTransferType居住区の人々と直接連絡が取れるそうです。
どうしますか

    // uses IdFTPCommon
    IdFTP1.TransferType := ftBinary;
    IdFTP1.Get(SourceFile,FStream);


[2949] TIdFTPでのGetコマンド(関数)成功!!返信 削除
2010/1/16 (土) 11:53:57 Mr.XRAY
▼ takaさん,やってみました.

>     // uses IdFTPCommon
>     IdFTP1.TransferType := ftBinary;
>     IdFTP1.Get(SourceFile,FStream);


たたみやさんも書いていますが,
(1) TIdFTP1のオブジェクトインスペクタでTransferTypeをftBinary
    NGでした.
(2) コード内でGetの前にftBinaryを指定するコードを書く
    OK

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

ありがとうごさいました.
お客様は神様です.


[2950] Re:TIdFTPでのGetコマンド(関数)成功!!返信 削除
2010/1/16 (土) 11:58:32 Mr.XRAY
> (2) コード内でGetの前にftBinaryを指定するコードを書く
>     OK


動作確認は,とりあえず
Windows XP(SP3) + Delphi2009(UP3) + Indy 10.5.7です.
今,Indyのダウンロードのページをみたら,また新バージョンがUP
されていました.


[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前の初期化時にでもデフォルトに
>戻ってしまうのでしょう.ということにしておきます.

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



[2966] Re8:Delphi2010でIndyのサンプルをテスト返信 削除
2010/1/20 (水) 13:21:41 taka
▼ Mr.XRAYさん
> ▼ takaさん
>
> おおっ,情報ありがとうごさいます.
> では,また再挑戦してみますか.
> いつになることやら.... (^^;


その後わかったことがありました。
報告することを忘れていました。

 プロパティのデフォルト値の定義が途中のバージョンから
ftBinary→ftAsciiに変更されているようです。
 右クリックで定義検索でソースをたどるとコメントで載っていました。
これが、今回の原因です。
多大な影響を与える変更をIndyがこそっとしていたようです。


デフォルト値に設定した場合は、
プロパティは、内部的には値を保存しない仕様になっています。
そのため2値しか取らない値でデフォルト値の定義を変更すると
どちらの値にしていても全部新しいデフォルト値になってしまいます。

複数のバージョンのIndyで安定して動作させるには、
TransferType は、
コードで強制的に代入するしかないようです。


[2968] Re9:Delphi2010でIndyのサンプルをテスト返信 削除
2010/1/21 (木) 00:00:08 Mr.XRAY
▼ takaさん

> 複数のバージョンのIndyで安定して動作させるには、
> TransferType は、
> コードで強制的に代入するしかないようです。


なるほど,了解しました.
そういうことですか.ありがとうございます.
これで安心してDelphi2010へコード移行ができそうです.


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