C++ Builder CE Tips

#1 動的割り付けのヒント

C++ Builderでは下記のコードは”コンパイラを通りません”

	TButton button;

見かけ上正しいコードですけど、

[bcc32c エラー] Unit1.cpp(16): Delphi-style classes must be allocated with ‘new’

と文句を言われます。要するにDelphi-styleのクラス(のインスタンス)はnew演算子を使って割り当てなければならないということです。ということはデザイン画面のパレットからフォーム上に置くことができるもの全てつまり‘Tで始まるコンポーネントは、newを使って割り当てなければならないということです。つまり、

	TButton* button = new TButton(Form1);

と書かなければいけないということです。なので、変数buttonはTButtonへのポインタなので、そのプロパティーにアクセスするには、

	button->Caption = "This is cap";

どうしてもdot(.)を使って書きたければ、

	//button->Caption = "This is cap";
	(*button).Caption = "This is cap";

と書けますけど、なるべく上の書き方に慣れておきましょう。

コメント