- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アドレス)
MFCのVC++6.0でアドレスを渡す際におかしくなる問題について
このQ&Aのポイント
- MFCのVC++6.0でアドレスを渡す際におかしくなる問題が発生しています。
- ヘッダファイルでCString型のポインタ変数を定義し、そのポインタ変数にアドレスを渡す際に問題が発生しています。
- 解決策として、ダイアログを作成し、リストビューの内容を受け取って新しいダイアログに移すプログラムを作成しています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Tstrはポインタでないとだめなのでしょうか CString Tstr; で Tstr=str; ではなにか不都合はありますか。 0xccccはDebugモードで初期化されてない場合に出る値です。 文字列の場合は"フフフフ"と表示されます。 これが出たときは初期化ミスを疑いましょう。 ポインタの宣言のときは CString *Tstr = NULL; のようにNULLで初期化しましょう。
その他の回答 (1)
- php504
- ベストアンサー率42% (926/2160)
回答No.2
ダイアログの関係が良くわからないのですが str = m_list.GetItemText(num, 0); // TestDlgのリストビューの内容をうけとり CTest2 dlg2; // 新しくダイアログを作って dlg2.Tstr = str; // そちらに移す dlg2.DoModal(); // 新しいダイアログを表示 みたいなことではないのでしょうか
質問者
お礼
できましたありがとうございました。
お礼
お手数ですがその値を受け取る方のプログラムはどうすればいいのかおしえてください。 普通に CTestDlg dlg; CString aa; dlg.Tstr=aa; MessageBox(aa)としましたが値が全く移ってません;
補足
ポインタでなくてもいいのですが以前やったときにエラーはでなかったのですが、値が移せなかったのでポインタ使わないといけないのかなとおもっていました。初期化することでifは実行されますが肝心のプログラムの方は やはりエラーになりますね。