• ベストアンサー

アプリケーションについて

私は、Borland C++Builder5の環境下で、アプリケーションを作りはじめたのですが、一つ質問があります。 アプリケーションには、初めからTForm1というクラスが設定されていて、そのクラス内ではPaintBoxやEditを使用できることは分かるのですが、新たに自分で作ったクラス内(例えば、class Sampleというものを作ったとして)でPaintBoxやEditを使うことは出来ないのでしょうか? やはり、TForm1というクラスの中にSampleを入れ、一つにまとめなければ出来ないのでしょうか? 是非、ご教授下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • KoHal
  • ベストアンサー率60% (110/181)
回答No.2

LocalSearch()やSol::~()が定義されているソースファイルにTFormのヘッダ(デフォルトなら多分Unit1.h)はインクルードされてますか? あと、Form1上のコンポーネントはForm1のプロパティなので、たとえば Form1->Edit1->... のように参照する必要があります。 この2点だと思うのですが、ダメならもう少し情報を下さい。

revolution_2005
質問者

お礼

有難う御座いました。Form1 -> という宣言をすれば良かったのですね。とても勉強になりました。

その他の回答 (1)

  • KoHal
  • ベストアンサー率60% (110/181)
回答No.1

>新たに自分で作ったクラス内(例えば、class Sampleというものを作ったとして)でPaintBoxやEditを使うことは出来ないのでしょうか? 使えます。 もし実際にコーディングする上で問題が発生しているなら、その内容(やろうとしていること、発生した問題)を具体的に提示して質問してください。 「使えるか?」と訊かれれば「使える」としか答えようがありません。

revolution_2005
質問者

補足

話が飛びすぎていてすいませんでした。補足させて頂くと、TSPのアプリケーションを作っています。 大まかな形を書くと class Sol{ ~ }; というクラスがあり、 void Sol::~{ ~ } などがあり、 void LocalSearch(Sol& A){ ~ } とあります。 そして、void __fastcall TForm1::Button2Click(TObject *Sender)の中で、 Sol Asol; ~ LocalSearch(Asol); ~ として、LocalSearchを実行しています。 そこで、LocalSearch(Sol& A)の内部やSol::~内などで、実行されていく途中経過を示したいのですが、EditやPaintBoxを使おうとしても、未定義のシンボルと出てしまいます。 これを、どう定義すればこれらの内部で使えるようになるのかを聞きたかったのです。 今のアプリケーションだと、処理前のランダム解と、処理後の改善解の状況しかPaintBoxで見ることが出来ないので、解が変わっていく状況を示したいのです。宜しく御願い致します。