• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アドレス)

MFCのVC++6.0でアドレスを渡す際におかしくなる問題について

このQ&Aのポイント
  • MFCのVC++6.0でアドレスを渡す際におかしくなる問題が発生しています。
  • ヘッダファイルでCString型のポインタ変数を定義し、そのポインタ変数にアドレスを渡す際に問題が発生しています。
  • 解決策として、ダイアログを作成し、リストビューの内容を受け取って新しいダイアログに移すプログラムを作成しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • php504
  • ベストアンサー率42% (926/2160)
回答No.1

Tstrはポインタでないとだめなのでしょうか CString Tstr; で Tstr=str; ではなにか不都合はありますか。 0xccccはDebugモードで初期化されてない場合に出る値です。 文字列の場合は"フフフフ"と表示されます。 これが出たときは初期化ミスを疑いましょう。 ポインタの宣言のときは CString *Tstr = NULL; のようにNULLで初期化しましょう。

okurinusi
質問者

お礼

お手数ですがその値を受け取る方のプログラムはどうすればいいのかおしえてください。 普通に CTestDlg dlg; CString aa; dlg.Tstr=aa; MessageBox(aa)としましたが値が全く移ってません;

okurinusi
質問者

補足

ポインタでなくてもいいのですが以前やったときにエラーはでなかったのですが、値が移せなかったのでポインタ使わないといけないのかなとおもっていました。初期化することでifは実行されますが肝心のプログラムの方は やはりエラーになりますね。

その他の回答 (1)

  • php504
  • ベストアンサー率42% (926/2160)
回答No.2

ダイアログの関係が良くわからないのですが str = m_list.GetItemText(num, 0); // TestDlgのリストビューの内容をうけとり CTest2 dlg2; // 新しくダイアログを作って dlg2.Tstr = str; // そちらに移す dlg2.DoModal(); // 新しいダイアログを表示 みたいなことではないのでしょうか

okurinusi
質問者

お礼

できましたありがとうございました。

関連するQ&A