2008 年 12 月 17 日

ATSチャイムの制御プログラム その2

カテゴリー: パソコン, 日記, 鉄道 — わぴこ @ 1:36 AM

というわけでGUIベースのプログラムを数日掛けて作りました。
ダイアログベースのMFCスケルトン??を元にぐぐりまくりました。
この辺の用語はVC(C)初心者なのでまったく分かりません。

まずは設定画面です。というか設定画面しかありません(爆
数値を入力してかえるという方法を試してみましたがうまくいきません (つД`)
とりあえずiniファイルを読み書きする機構をぐぐって取り付けました。
その後も数値変更のためにいろいろやってみるもことごとく失敗_| ̄|○
ふとリソースエディタを見てみるとスピンボタンなるものを(・∀・)ハケーン!!
早速試してみましたがエディットボックスとくっつかないのでプロジェクトごと破棄(爆

2回目はデザインからはじめました。
今度はスピンボタンの取り付けに成功。
いろいろやっているうちに悟りを開き
数値変更によるリアルタイム設定値更新はあきらめました。
OKボタンで設定更新をするようにしました。

次にATSの制御関係です。
基本的には前回書いたソースを移植しただけなので省略♪

OKボタンを押すと終了するのが気に食わないので抹殺しました。
ついでにATSテストボタンを追加しました(笑
一応完成しました。

しかしっ、動作させると操作を受け付けなくなることに気が付きました(爆
というわけでマルチスレッド化することに・・・
いったんはあきらめましたががんばってマルチスレッド化に成功しました(^^)v
まだまだ問題があります。終了処理です。
終了されるとバックグラウンドで動いているATS制御ルーチンが強制終了されます。
何の処理もしていないのでメモリリークすると思われます。
終了処理を変更しましたがこれがなかなかうまくいきませんでした。
ぐぐりまくって先ほど完成しました。

あとはアイコン化したいのですがそれはまた別の機会に・・・
まだソフト上にATS確認ボタンとかつけてみたいですし。
(本来はATS装置側に確認ボタンをつけますが
ソフト上にもテスト用に用意しておこうかと・・・)

部品を注文したので早く届かないかなあ・・・

俺様メモ
グローバル変数の設定
ヘッダーに
extern int ats_on;
本体(cpp)に
int ats_on;
と書くべし。

他のファイル?クラス?の変数などにアクセスする場合。
ATS::on -> X
ATS.on -> X
—————--
ATS ats;
ats.on -> OK

他の関数から戻り値が欲しいとき
int atskakunin(){
return (1);
}

void型はだめかも??? void以外だと戻り値必須???

HTML convert time: 0.303 sec. Powered by WordPress ME
powerd by ddo.jp