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一覧取得 再投稿
-
エクセルvbaでdocuworksprinter...
-
VBAでパワーシェルを実行したい...
-
ExcelVBAの使い方 ¥の使い方...
-
バッチファイル 二つ上のディ...
-
初心者powershellのPS1ファイル...
-
VBAでフリーエディターのテキス...
-
パスワード保護されたExcelファ...
-
Eclipse
-
Accessで「ファイルを開く」ダ...
-
指定したフォルダ内の最新ファ...
-
C#でのProcess.Startと変数path
-
【VBA】ExcelマクロでCSVファイ...
-
リストボックスにファイル名の...
-
Access2000のテーブルにPDFファ...
-
SaveAsの保存先について
-
xcopyコマンドの進行状況を表示...
-
file://について
-
1行単位のデータをテキストファ...
-
【VB.NET】App.configにファイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチファイル 二つ上のディ...
-
エクセルvbaでdocuworksprinter...
-
エクセルVBAで一つ上の階層...
-
Excel 相対パス
-
【VB.NET】App.configにファイ...
-
xcopyコマンドの進行状況を表示...
-
【VBA】ExcelマクロでCSVファイ...
-
EXCEL(VBA)で指定フォルダ内の...
-
エクセルのマクロで特定フォル...
-
パスワード保護されたExcelファ...
-
ExcelVBAの使い方 ¥の使い方...
-
開いているファイルを削除し、...
-
SaveAsの保存先について
-
初心者powershellのPS1ファイル...
-
VBA★PDFをPDFアプリで印刷し...
-
fopenでのパス指定
-
【Excel VBA】Power Qurry のソ...
-
指定したフォルダ内の最新ファ...
-
A列に記載されているフォルダ...
-
ExcelのVBAで上書き保存を確...
おすすめ情報