iniファイル読込でエラー

解決


なおき  2011-05-07 00:43:29  No: 102883  IP: [192.*.*.*]

iniファイルに画面サイズを書き込んでいます。

画面起動時にiniファイルを読み込んで画面サイズを変更しています。
画面終了時にiniファイルに画面サイズを書き込んでいます。

もともとの画面サイズは小さくて、画面起動時に画面サイズを変更しています。

デバッグしながらステップ実行すると、正常に画面サイズは変更されます。

デバッグではなく普通に実行すると、画面サイズは変更されなくて小さいままです。

プログラムのスピードが速くてiniファイルが上手く読み込まれていないのではと思い、sleepさせてみました。
結果、すべてではないですが、何回かに1回は画面サイズが小さいままでした。

sleep時間を増やそうか考えたのですが、あまり増やすと起動が遅くなるので。。。

sleep以外何か良い方法はないでしょうか?

開発環境:vb6(sp6)
OS:win7

編集 削除
poi  2011-05-08 00:07:41  No: 102884  IP: [192.*.*.*]

本当に起動時間の問題で読めたり読めなかったりするのかな?
ファイルがあることを確認した後、sleep外してiniから読んだ値をラベルとかに貼り付けた場合、どうなりますか?読めていないのなら初期値が表示されると思うのですがどうでしょう。(初期値と読み込む値は別のものにしておかないといけない。)
俺的にはwin7のフォルダ権限の気がする。
案外Cドライブ直下にフォルダ掘ってそこにiniをいれてアクセスするようにすればすんなり動くのでは予想。

編集 削除
なおき  2011-05-09 00:25:55  No: 102885  IP: [192.*.*.*]

仰られるとおりsleepを外してラベルを貼って読み込んだ値を表示してみました。
ラベルを貼っているときは正常に値が読まれ、画面が大きくなりました。
(何回も試してみました)

大丈夫なのかなと思って、ラベルを削除してsleepはコメントアウトしたままで開発を続けていました。

数分後、また画面が小さくなりました。
(デフォルトのサイズのままでした)

iniファイルはCドライブ直下にフォルダを作って、そこに入れています。

やはりiniファイルが読み込めていないような気がします。
(読み込んでiniファイルから応答が帰ってくる前にプログラムが先に進んでいるような気がします)
(または書き込んだときiniファイルから応答が帰ってくる前にプログラムが先に進んでいるような気がします)

txtならばサンプルがあったのですが。
http://www.gizcollabo.jp/vbtomo/log/archive/vbqanda_33657_0.html

iniファイルの読込または書込待機なんてできないでしょうか?

編集 削除
インテ  2011-05-10 11:33:00  No: 102886  IP: [192.*.*.*]

iniファイルの読み込みは、どこで、どのように、どのタイミングで行っていますか?
この部分のソースも見せてもらえれば。

編集 削除
なおき  2011-05-12 18:33:53  No: 102887  IP: [192.*.*.*]

解決しました。

というより、僕のコーディングミスでした。
お騒がせして、ごめんなさい。

keyをPublic変数にしていましたが、途中でデータが入れ替わっていました。

申し訳ございませんでした。

編集 削除