お世話になっております。
前回の質問がいまだに解決していない状態ですが、次の質問をさせて頂きます。
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内部を弄る事が出来ないのでしょうか。
それとも、何処か根本的な所で見落としがあるのでしょうか?
何方か、お知恵をお貸し下さい。よろしくお願いします。
なんだかよくわからないのですが?
test2って誰かが実行するのでしょうか?
また、
>new NAMESPACE::Form1;
というようにnewすると、元からあるForm1のインスタンスに対しての
変更ではなく、"新しいForm1"への変更になるのは理解できていますよね?
Blueさま、返信有難う御座います。
>>test2って誰かが実行するのでしょうか?
ソースがぐだぐだ長くなると管理できなくなるので、分けようかと思いまして。
で、Formの外から中が弄れるなら、最終的にDLLにして使いまわせるかなー、と。
>>"新しいForm1"への変更になるのは理解できていますよね?
言われてみればそうですね。
なんでnewしたんだろう……?
newなしでイロイロやってみます。
ツイート | ![]() |