喫茶XRAYトップページ

[スレッド全体
]

[3732] コードのバグなど返信 削除
2010/9/24 (金) 13:36:10 Mr.XRAY
毎度ですが,DEKOさんの雑談からの引用です.

http://ht-deko.minim.ne.jp/ft1009.html#100920

>「これはパッと見ただけで判るような問題だから、そのうち直るだろう」
>なんて思っていると、絶対に直りません。
>日本語フォーラムを含め、他のコミュニティで愚痴っても意味はありません。
>最低でも QC に入れないと話は始まらないのです。


というのがあります.
これは小生のコンポ,サンプルプログラム集も同じです.
この文章には反省させられることがあります.
自分自身も他の方のコンポ類をコードを修正することがあります.
本当は作者に連絡した方がいいのですが,過去にメールまたは掲示板に
書いたこともあります.

ところが,昔のコードは,その方がすでにサイトの管理を継続して
いなかったれり,返信がない等が多く.最近,いや,かなり前から,原則
そのようなことはしていません.
連絡する時は,そのサイトが「生きている」かを確認するようにして
います.

当サイトは「まだ生きている」サイトです.
ただ,問い合わせ全てに対応できるかというのは,また別の問題ですが,
価値はあると思います.

コンポを更新すると,すぐテストしてくださる方が若干名いるようで,
助かっていますが,結構プレッシャーにもなっています.
でも,重大なバグをいつもまでもそのままというわけにもいきませんし.
できれば,メールではなく掲示板でバグを晒していただいた方が,と
思っています.


[3733] Re:コードのバグなど Indyについて返信 削除
2010/9/24 (金) 15:35:52 TS
▼ Mr.XRAYさん
お言葉に甘えまして、早速質問させて下さい。
プログラムのバクではなくIndyの変更による動作についてです。

サンプルプログラム集
773_IdFTPでダウンロードアップロードで、
作成済みの実行ファイルでは正常に動作するのですが。

Delphi2010 WindowsXPを使用して実行させると

01_FTPGetFile_TIdAntiFreeze
  FileSize := IdFTP1.Size(SourceFile);
03_FTPGetFile_TThead
  FFileSize := FIdFTP.Size(FUrl);

上記のFFileSizeに-1が入りファイルがダウンロードできません。

01の場合if文を書き換えて強制実行させるとダウンロードは
正常に出来ます。

03の場合FFileSizeに適当な数値を代入するとエラー無く
一応ダウンロードするのですが、ダウンロードしたファイル
の容量が変わってしまいます。

ちなみにIndyでintegerとint64の変更があってエラーが出る
処は変更してみました。


[3734] Re2:コードのバグなど Indyについて返信 削除
2010/9/24 (金) 17:27:31 Mr.XRAY
▼ TSさんってば,早っ!!

> 773_IdFTPでダウンロードアップロードで、
> 作成済みの実行ファイルでは正常に動作するのですが。


これDelhi 2007の時のだから,いつかはDelphi 2010でやらないと
いけませんね.
TSさんのコードは記事を参考にして,いつかやってみます.

とこんなところで,まずは (^^;
ても,こういう内容は他の方にも参考になります.サンクスです.
結構一所懸命悩んでいる人がいたりして...

>ちなみにIndyでintegerとint64の変更があってエラーが出る
>処は変更してみました。


まずはここの変更ですね.
う〜む.Indyがらみが優先かな?


[3735] Re3:コードのバグなど Indyについて返信 削除
2010/9/24 (金) 19:11:31 TS
▼ Mr.XRAYさん
Delphi7で実行してみましたが問題無くダウンロードできます。
FileSizeは正常に取得できます。

私の環境のせいでも無いみたいです。

>ちなみにIndyでintegerとint64の変更があってエラーが出る
下記のintegerがint64に変更になっています、大きなファイルに対する
対応みたいです。
   procedure ADoOnWork(Sender: TObject; AWorkMode: TWorkMode;
      AWorkCount: integer);
   procedure ADoOnWorkBegin(Sender: TObject; AWorkMode: TWorkMode;
     AWorkCountMax: integer);

[3736] Re4:コードのバグなど Indyについて返信 削除
2010/9/24 (金) 23:08:50 TS
▼ Mr.XRAYさん

Indyのコード(IdFTP.TIdFTP等)を追ってみましたが、
複雑すぎるので途中で早々と挫折しました。

とりあえず、774_Indy_FTPDirFileList のコードを使わせてもらって
サイズを取得して動作する様にしました。

03_FTPGetFile_TThead
 A  FFileSize := FIdFTP.Size(FUrl);

 A FFileSize  := FIdFTP.Size(FUrl);
 B FFileSize  := GetFIdFTP_Size(FUrl); //自作関数

上記Aの行をBの行だけに置き換えようとしたのですが
どうゆう訳かAの行が無いとファイルサイズがおかしくなる様です。

Q&Aの掲示版でも皆さんIndyには苦労されている様ですが
すごいコンポーネントに間違いはありません。

私個人の問題はとりあえず解決しました、とりあえず報告まで。


[3737] Re5:コードのバグなど Indyについて返信 削除
2010/9/25 (土) 17:53:32 Mr.XRAY
▼ TSさん,いろいろ情報ありがとうございます.

> Q&Aの掲示版でも皆さんIndyには苦労されている様ですが
> すごいコンポーネントに間違いはありません。


そうですよね.やはり便利です.
自分で作るとなると大変なことですから.
ワードとエクセル操作関係も落ち着いてきたので,少しずつ動作確認
していこうと思います.


[3738] Re6:コードのバグなど Indyについて返信 削除
2010/9/25 (土) 19:02:59 TS
▼ Mr.XRAYさん

>そうですよね.やはり便利です.
>自分で作るとなると大変なことですから.


サンプルプログラム集
大変助かります、この度もまるまる使わせて貰って
助かりました、感謝しております。


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