InitInstanceで、m_pszProfileNameを変更していますが、
別の関数(InitTest)を用意し、そこでパス変更をしようと思っています。
追加関数のif (m_pszProfileName) {のところで、
不適切なptrとなってしまいます。
ifの中に入っていきません。
現行のソース
BOOL CXXXApp::InitInstance()
{
if (m_pszProfileName) {
free(m_pszProfileName);
}
m_pszProfileName = _tcsdup(iniPath);
:
:
パスの変更に失敗した時
return FALSE;
:
return TRUE;
}
追加関数
BOOL CXXXApp::InitTest()
{
if (m_pszProfileName) { ←ここがTRUEにならず、不適切なptr
free(m_pszProfileName);
}
m_pszProfileName = _tcsdup(iniPath);
:
:
パスの変更に失敗した時
return FALSE;
:
return TRUE;
}
変更後は、オーバーライドしたInitInstanceでは、
何も処理を行わず、そのままTRUEをreturnさせます。
追加関数で、m_pszProfileNameが初期化できていないのでしょうか?
どうすれば、追加関数で、iniファイルのパス変更ができるか教えてください。
iniファイルは、exeと同じフォルダに設置します。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
MFCのソースをちゃんと追いかけましょう
m_pszProfileNameはCWinAppのコンストラクタでNULLとして初期化されます
m_pszProfileNameに何かが代入されるのはCWinAppのSetRegistryKey
またはSetCurrentHandlesのどちらかが実行された場合でしょう
そのInitTestを実行するまでにこれを呼び出したインスタンスが上記の2関数を呼び出していなければ NULLなので『初期化されていないポインタ』などと表示されるでしょう
この回答への補足
ご回答ありがとうございます。
CXXXAppのインスタンスを生成したときに
コンストラクタでSetRegistryKey
またはSetCurrentHandlesを呼ぶようにすれば
問題ないでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- JavaScript 追加ボタンを押した際に ok ボタンを押した場合のみ入力値が追記されるようにしたいです 6 2022/05/29 09:57
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- Java java 引数 戻り値のあるメソッド 3 2023/02/12 06:23
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルvbaでdocuworksprinter...
-
xcopyコマンドの進行状況を表示...
-
【続き】windowsペイントを開く...
-
ドライブレターの大文字・小文...
-
実行ファイルのパスを取得したい
-
VBAとResgen.exeを使用して、re...
-
パスワード保護されたExcelファ...
-
Excel VBA 開いているブック名...
-
C# MP4のタグ情報のサブタイト...
-
GAEで409エラーが出ます
-
VB2008 INIファイル読み込みに...
-
エクセルのマクロで特定フォル...
-
VisualBasicでファ...
-
FrontPage2000で作っ...
-
TerapadからFirefoxを開きたい
-
エクセルのVBAまたはVisualBasi...
-
outlook開けない
-
テキストファイルのレコード件数
-
coverage(カバレッジ)?とい...
-
アクセス 自身のデータベース...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルvbaでdocuworksprinter...
-
バッチファイル 二つ上のディ...
-
VBAでパワーシェルを実行したい...
-
VBA一覧取得 再投稿
-
【VB.NET】App.configにファイ...
-
エクセルVBAで一つ上の階層...
-
初心者powershellのPS1ファイル...
-
ExcelVBAの使い方 ¥の使い方...
-
EXCEL(VBA)で指定フォルダ内の...
-
SaveAsの保存先について
-
Excel 相対パス
-
パスワード保護されたExcelファ...
-
【VBA】ExcelマクロでCSVファイ...
-
xcopyコマンドの進行状況を表示...
-
エクセルのマクロで特定フォル...
-
VBA★PDFをPDFアプリで印刷し...
-
VBS パスに変数を入れたい
-
コマンドプロンプトのコピー関...
-
【VBA】複数のtxtファイルから...
-
開いているファイルを削除し、...
おすすめ情報