findfirst と findclose
(たけちん)
2001/12/17 18:00
Susieのフォルダの共有違反の問題ですが、今朝方原因が判明しました。
この問題、6年前に16bit版から32bit版に移植した時からずっと潜伏していたバグでした。
Cの標準関数にファイル一覧を取得する findfirst と findnext という関数があります。
Susieでも16bit版の名残で一部これを使っていました。
標準関数というのはその中でOSの違いを吸収するようになってる訳ですが、
win32ではその仕様から違いを吸収しきれなかったようです…
findclose っていう後始末用の関数が追加されてるんですね…。「標準」じゃないじゃん(;_;)
win32API の FindFirstFile に対応する FindClose を標準関数はいつ呼んでるんだろうなー
とは前々から不思議に思ってたのですが…
Borland のHELPのfindfirstの項目にはfindcloseに関してなにも書かれていなくて、
サンプルももちろん findfirst のあと findnext でループして終わりというフツーのモノ。
でもちゃんと別にfindcloseのページはあったりして。
さらに今回、カタログ使用時にはshell関数の方でファイル検索をするようにしたあとで
デバッグしようとしたので再現出来なかったりして。
スライドショウの方はまだfindfirstを使っていたためにその違いから気がつきました(^_^;)
いやはやなんとも。
今新機能の追加が中途半端なまま仕事に追われてますので
公開はもうちょっと待って下さい。
--「findfirst と findclose」に対するコメント--
タイトル(Subject):
お名前(Your name):
Mail address:
Password:
:入力しておくとあとで削除できます
Your message:
7thBridge P ver0.26 (c)Takechin