У меня есть эти две строки кода.
CString strHost = AfxGetApp()->GetProfileString(_T("WebServices"), _T("Server"));
AfxMessageBox(strHost);
Нигде в приложении я не устанавливаю значение. (установщик делает это). Таким образом, strHost должен быть одинаковым независимо от того, где и когда эта строка запускается.
Вот что у меня есть.
Нажмите A -> запустить функцию, которая содержит код -> увидеть ожидаемые данные;
Нажмите B -> сделать несколько обратных вызовов Windows -> запустить функцию, которая содержит код -> см. "";
Я бы подумал, что что-то в B сбрасывает значение, но если я сначала нажму B, а затем A, A получит то, что я хочу, а не "".
К сожалению, у меня нет доступа к коду, в котором хранятся обратные вызовы Windows, или, скорее, это самая большая куча плохо управляемого обличения, которое я когда-либо видел.
Что меня беспокоит, так это то, что если GetProfileString извлекает данные откуда-то, чего не должно быть? Это единственное, о чем я могу думать.
Вопросы.
1.) Есть ли способ подтвердить, что я все еще работаю с тем же «ключом»?
2.) Кто-нибудь когда-либо сталкивался с этим раньше?
Пожалуйста, если вы считаете, что это плохой вопрос, и хотите пометить его как таковой, оставьте комментарий, чтобы я мог его исправить.
Хотя я не нашел полного ответа, я нашел кое-что интересное.
Я использую AfxGetApp () -> GetProfileString ..
Кажется, функция AfxGetApp () возвращает разные вещи в разное время ... Я не уверен, как это могло произойти, но, по крайней мере, теперь я могу объяснить это ,