タイマ更新中のリストボックスのファイル保存 – プログラミング – Home

タイマ更新中のリストボックスのファイル...
 
通知
すべてクリア

[解決済] タイマ更新中のリストボックスのファイル保存


ごん
 ごん
(@ごん)
ゲスト
結合: 23年前
投稿: 24
Topic starter  

開発環境はVC++6.0です。

タイマで一定周期にリストボックスを更新し、そのリストボックスの内容をボタン押下で
テキストファイルに保存しようと考えています。

現在、GetSaveFileNameでファイルを指定し保存を行っていますが、タイマをkillしない
とエラーとなってしまう為、ボタン押下時にコールするモジュールの先頭でkillしました
がタイマの再設定はどのように行ったらいいのでしょうか?

それとも根本的にやり方が違うのでしょうか?
ご教授お願い致します。

質問に不備がありましたら申し訳ありません。


引用未解決
トピックタグ
ホウジョウウサギ
 ホウジョウウサギ
(@ホウジョウウサギ)
ゲスト
結合: 17年前
投稿: 73
 

保存操作が終わったら再設定すればよいのではないでしょうか.
ボタン押下時の処理を

 タイマをkill(KillTimer?)
→ファイル指定して保存
→タイマ再設定(SetTimer?)

とするだけではダメなのでしょうか?


返信引用
ごん
 ごん
(@ごん)
ゲスト
結合: 23年前
投稿: 24
Topic starter  

ホウジョウウサギさん

ファイル指定して保存部分をコメントにすれば、SetTimerでタイマの再設定は正常に動
作するのですが、
ファイル指定して保存とSetTimerを記述し、実行すると強制終了してしまいます。


返信引用
maru
 maru
(@maru)
ゲスト
結合: 17年前
投稿: 358
 

問題点が不明確ですね。

> 現在、GetSaveFileNameでファイルを指定し保存を行っていますが、タイマをkillしな

> とエラーとなってしまう為、
エラーの内容が分からないと対策は立てられないですよね。
逆にエラーの内容を把握し、原因がはっきりわかればほとんど対策できたようなもので
す。(原因がわかっても対策できないものも多々ありますが。)

> ファイル指定して保存とSetTimerを記述し、実行すると強制終了してしまいます。
どこで終了しているかわかっていますか?
デバッガを使って調べることは可能ですよね。
強制終了するだったら例外が発生しているのだと思いますが、そこ(例外が発生する場
所)のコードを出してみたらいかがでしょう。


返信引用
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

> タイマで一定周期にリストボックスを更新し、
> そのリストボックスの内容をボタン押下でテキストファイルに保存しようと
> 考えています。
作業を3つに分けてみたらどうですか?

1. タイマで一定周期にリストボックスを更新する。
2. そのリストボックスの内容をボタン押下でフラグを立てる。
3.フラグが立っていてかつリストボックスの更新中でないときに
  テキストファイルに保存する。


返信引用
ホウジョウウサギ
 ホウジョウウサギ
(@ホウジョウウサギ)
ゲスト
結合: 17年前
投稿: 73
 

他の方もおっしゃっていますが,
まずは終了してしまうのが

(1)GetSaveFileName()でファイル選択のダイアログを出す前
(2)ファイル名を選択した後で,保存処理が始まる前
(3)ファイル保存処理中
(4)保存処理後,SetTimerよりも前

のどのあたりなのかを突き止めてみると良いかと思います.


返信引用
ごん
 ごん
(@ごん)
ゲスト
結合: 23年前
投稿: 24
Topic starter  

デバッガで追ってみましたがどこで終了しているのかわからず・・・

皆さんのレスを参考にし、いろいろ試行錯誤したところ
どうやらタイマ処理の内容自体に問題があるようです。

質問の内容と異なる問題の為、一旦こちらは〆させて頂きます。
あいまいな質問にも関わらず本当にありがとうございました。
大変助かりました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました