Formクラス内部のプロパティを外部から操作するには?


鈴木  2007-07-03 09:51:07  No: 65568

お世話になっております。
前回の質問がいまだに解決していない状態ですが、次の質問をさせて頂きます。
VC++.NET2003環境です。

プロジェクトは.NETフレームワークで、初期に作られるForm1クラス内部に、

public:
void test1( System::String* aaa ){
   label1->Text = aaa;
}

とメンバ関数を追加し、
外部で

void test2(){
   NAMESPACE::Form1* bbb = new NAMESPACE::Form1;
   bbb->test1( S"" );
}

と、ラベル1のTextを初期化(或いは、別のプロパティ内容を変更)させる関数を宣言しました。
コンパイルした限りではエラーは無いのですが、実際に走らせて見ると上手く動作してくれません。
ブレイクポイントを使って調べてみたのですが、test2関数を通してしかtest1に入れない筈なのに、何故かtest2を通過した様子がありません。

もしかして、そもそも外部からForm内部を弄る事が出来ないのでしょうか。
それとも、何処か根本的な所で見落としがあるのでしょうか?
何方か、お知恵をお貸し下さい。よろしくお願いします。


Blue  2007-07-03 10:15:21  No: 65569

なんだかよくわからないのですが?

test2って誰かが実行するのでしょうか?
また、
>new NAMESPACE::Form1;
というようにnewすると、元からあるForm1のインスタンスに対しての
変更ではなく、"新しいForm1"への変更になるのは理解できていますよね?


鈴木  2007-07-03 10:25:27  No: 65570

Blueさま、返信有難う御座います。

>>test2って誰かが実行するのでしょうか?
ソースがぐだぐだ長くなると管理できなくなるので、分けようかと思いまして。
で、Formの外から中が弄れるなら、最終的にDLLにして使いまわせるかなー、と。

>>"新しいForm1"への変更になるのは理解できていますよね?
言われてみればそうですね。
なんでnewしたんだろう……?
newなしでイロイロやってみます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加