« auの端末がどんどんつまらなくなっている | ホーム | VCLさんごめんなさい(何) »

2007年1月18日

VCL(C++Builder)が滅亡寸前な件

Borland Developer Studio 2006のC++Builderで標準的なVCLフォームアプリケーションを作っていたと思いねえ。

  • View上の入力を伴う(テキストボックスとかチェックボックスとかの)コントロールはGUIから何かを入力するとOnChangeイベントが発行される
  • OnChangeイベントを拾ってイベントハンドラでModelオブジェクトにsetterメソッドを通じて値を入れ込む
  • Modelオブジェクトはsetterメソッドを使って値が変更されたかどうかを持つdirtyフラグを管理する

という仕組みで典型的なMVCモデルを組んでいたとしねえ。

  1. Modelオブジェクトを生成し、ファイル上に保存されたデータを読み込む
  2. Modelオブジェクトにオンメモリで読み込まれた値をView上の各コンポーネントにsetする 例) Edit1->Text = (objModel1)->Value1;
  3. Edit1のTextプロパティが変更されたことでOnChangeイベントが発生する
  4. OnChangeイベントハンドラでModelのsetterメソッドが呼ばれて(例えば)Edit1のTextプロパティに入れ込んだばかりの値が逆輸入される
  5. setterメソッドがdirtyフラグをonにする
  6. 何も値いじってないのにいきなり変更フラグが立つ
  7. (゚д゚)マズー

TextプロパティいじったくらいでOnChange発行させないでくださいよorz っていうか使い方まちがってんのこれ?そもそもVCLなんかもう過去の遺物なんだから使いやがらないでくださいよってことですかそうですか。

トラックバック(1)

トラックバックURL: http://foursics.jp/cgi-bin/mt/mt-tb.cgi/46

VCLに罪はなかったす。 あの後Visual C# .NETでも同じように組んで... 続きを読む

コメントする