- - PR -
Form1より表示されたForm2に表示されているテキストの変更方法
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-04-11 16:56
Form1.h
とする。 ただし、F2のnullptrチェックは必要かと。 # F2を閉じたとき、(Showメソッドで表示しているので)Disposeが呼ばれる? # →Form1::F2にはインスタンスが残ったままとなる? # →nullptrで比較したとき 偽 になる? # →Dispose済みのコントロールにアクセスしてもOK? # だめなら、何らかの方法で nullptr を入れないとだめ? [ メッセージ編集済み 編集者: Blue 編集日時 2007-04-11 16:59 ] | ||||||||
|
投稿日時: 2007-04-11 17:24
Blueさん
手取り足取ありがとうございました。 宣言と定義を分ければよかったのですね。 うまくいくようになりました。 以下についてはよくわからないのですが。。 とりあえず、Form2へのText入力時はF2!==nullptrの条件をいれて インスタンス作成されていないときのエラーを回避するようにしました。 # F2を閉じたとき、(Showメソッドで表示しているので)Disposeが呼ばれる? # →Form1::F2にはインスタンスが残ったままとなる? # →nullptrで比較したとき 偽 になる? # →Dispose済みのコントロールにアクセスしてもOK? # だめなら、何らかの方法で nullptr を入れないとだめ? | ||||||||
|
投稿日時: 2007-04-11 17:39
私もよくわかりません。 実際に、 button1_Click ↓ Form2を閉じる ↓ textBox1_TextChanged としたときにどうなるか、 またこのようなケースがありうるのか、 あるならどう回避させるべきか を検討してみてください。 その際はこのスレではなく新しいスレを建てて質問してください。 | ||||||||
|
投稿日時: 2007-04-11 19:13
F2を閉じるときにnullptrを代入するならイベントをつかって、
Form1.h
とすればよさそう。 | ||||||||
|
投稿日時: 2007-04-11 19:58
deleteじゃいかんのだっけ?
| ||||||||
|
投稿日時: 2007-04-12 08:36
ShowDialogの場合はdeleteをよんで明にDisposeさせますけど、 Showの場合はフォームを閉じればDisposeされると認識しています。 また、deleteしたとしても明にnullptrを代入しないといけないような 気がするのですが、どうなんでしょうか? | ||||||||
|
投稿日時: 2007-04-12 09:15
こういう場合、僕の環境では、何も起こりませんでした。 でも、気持ち悪いので・・・
のように、nullptrを代入するようにしておきました。 いろいろとありがとうございました。 |