[[BORLAND C++ CWCC]]
RETURN
CWCC#00 Concept
  • どうしても、Hello Worldを10行以下のプログラムで!
    これは、有る意味挑戦なのである。従って、今,自分が簡単に考えている以上に困難で、長期にわたるかも知れない。従って、このセクションについては、かなり長い話になってしまうかも知れない。勿論,「Hello Worldを10行以下で」という一つの解として、MessageBoxでHelloWorld!を表示するという手も無くは無いが、この方法では、それ以上発展させようが無いのである。ユーザインタフェイスを作成しようとしたら、一番簡単なのはダイヤログBOXなのだろうが、ダイヤログを使うなら、必ずダイヤログ・プロシージャを書かなければならないのである。それだけでも、ひょっとしたら、10行以上に至ってしまうだろう。これを解決しようとして、以前も幾つかの試みをしているのであるが…その度に挫折をしている。Windowsのアプリ上で、シーケンシャルな部分を長時間動作させる事は、不可能なのだろうか?

  • スレッドという回答
    以前の挑戦で、自分が行き詰まった一つの理由は、メインプログラムでシーケンシャルな処理を実現させようとした事にあるのだと思う。これだと、Windowsからのメッセージイベントを受け取る為のGetMessage()が実行できなくて、メッセージが蓄積してしまったり(ボタンを押しても反応が無いので連打してしまうのである)GetMessage()を実行すると、メッセージを受けるまで、次に行けないので、ボタンを毎回押さなければいけなかったりと、色々なしわ寄せが、ユーザ側に来てしまう訳である。しかしながら、スレッドは違うのだ。スレッドは、GUIのアプリ中に有って、唯一長時間シーケンシャルに動作する事を許される部分なのである。では、メインウインドウをコンソール(EDITまたはSTATICを使用して)を表示させるだけの簡単なものに限定ししまい、メインウインドウやダイヤログのプログラムやらプロシージャをライブラリに閉じこめてしまえばどうなるのか?そして、WinMainで、初期設定が終わったら、スレッドを起動する処理を行って、スレッド・プログラム(プロシージャ)の中で、ユーザが書くべきCwccMain(Cool Window Console Class Main Porc)を呼ぶ仕様にしたら…ユーザが書く部分は、非常に簡単なプログラムで済むのでは無いだろうか?。ここが、この計画の発想の原点なのである。

  • Cool Windows Console Class Library
    現行まで、GUIプログラムの為に組み立ててきたCool Windows Class Lib(CoolLib)を流用して、Cool Windows Console Class(CWCC)を構築する。即ち、GUIのプログラムを組みたい場合はCoolLibを利用し、より簡単に、コンソールプログラムを組みたい場合はCWCC)を利用するという考え方である。即ち、この時点からCoolLibは、2つの方向への発展をする事になるのである。

2002/04/25
HomeSweetHome2
Ozzy's Software