- ベストアンサー
アプリケーションについて
私は、Borland C++Builder5の環境下で、アプリケーションを作りはじめたのですが、一つ質問があります。 アプリケーションには、初めからTForm1というクラスが設定されていて、そのクラス内ではPaintBoxやEditを使用できることは分かるのですが、新たに自分で作ったクラス内(例えば、class Sampleというものを作ったとして)でPaintBoxやEditを使うことは出来ないのでしょうか? やはり、TForm1というクラスの中にSampleを入れ、一つにまとめなければ出来ないのでしょうか? 是非、ご教授下さい。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
LocalSearch()やSol::~()が定義されているソースファイルにTFormのヘッダ(デフォルトなら多分Unit1.h)はインクルードされてますか? あと、Form1上のコンポーネントはForm1のプロパティなので、たとえば Form1->Edit1->... のように参照する必要があります。 この2点だと思うのですが、ダメならもう少し情報を下さい。
その他の回答 (1)
- KoHal
- ベストアンサー率60% (110/181)
>新たに自分で作ったクラス内(例えば、class Sampleというものを作ったとして)でPaintBoxやEditを使うことは出来ないのでしょうか? 使えます。 もし実際にコーディングする上で問題が発生しているなら、その内容(やろうとしていること、発生した問題)を具体的に提示して質問してください。 「使えるか?」と訊かれれば「使える」としか答えようがありません。
補足
話が飛びすぎていてすいませんでした。補足させて頂くと、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で見ることが出来ないので、解が変わっていく状況を示したいのです。宜しく御願い致します。
お礼
有難う御座いました。Form1 -> という宣言をすれば良かったのですね。とても勉強になりました。