お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"RE^5:長いファイル名(フルパス)を取得"

この発言は
#00581 Satobe さんのRE^4:長いファイル名(フルパス)を取得
に対するコメントです

この発言に対し以下のコメントが寄せられています
#00584 Fermion さん RE^6:長いファイル名(フルパス)を取得

 Satobe さん、こんにちは。 Fermion です。  お気を悪くされたのでしたら謝ります。m(_"_)m > FindFirstの方を調べてみて下さい。 > > Result := FindMatchingFile(F); > if Result <> 0 then FindClose(F); > > ↑というコードがあり、ここで FindCloseが実行されてしまうことが > あるんです。  もちろん、誹謗中傷になってはいけませんので、このあたりのことは 調べて、テクニカルハンドブックのサンプルコードでは、FindFirst に 渡すパラメータ Attr が faAnyFile ですので、仰るような FindFirst がらみの問題に、目をつむっても、まともに動作するだろうから、強ち バグとは言い切れないのでは?と思ってレスを付けたのです。(ひょっ としてこの場合でも拙いのかなぁ。。。(^^; そうだとしたら完璧な勘 違いです。すみません。m(_"_)m )  ヘルプを見てみますと FindFirst と FindClose はセットで使うかの 表現も見られますので、本来、 FindClose は FindFirst に失敗しても 必ずセットで呼び出すことを前提としているのだとしたらコーディング 上の間違いはないし。。。(^^;) > FindFirstが非ゼロを返した場合には、FindCloseを呼び出さないよう > にした方がいいですよ。(^^; > > もともと Win32APIの仕様では、FindFirstFile APIに失敗したら、 > FindClose APIは呼び出す必要ありません(ハンドルがないから > 呼び出せない)ですしね。  ご丁寧なアドバイス、あ・り・が・と・う・ご・ざ・い・ま・す。 98/06/21(日) 03:41 Fermion [KHF03264] Original document by Fermion 氏 ID:(KHF03264)



ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum