この 2 行のコードがあります。
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() が異なる時間に異なるものを返しているようです..それがどのように起こるかはわかりませんが、少なくとも私はそれを説明することができます.