[
スレッド全体
]
▼
2014/2/6 (木) 22:20:56
novice
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0
[2108]
Re2:タスクトレイのプロセスが異常終了します
▼ LR4さん
> 手元の環境で上記の行を追加してビルドしてみましたが、それでも改善しませんでした。orz
> 他にも何か修正が必要なのでしょうか…
SSelLangInfo構造体のメンバ変数szDllNameを初期化してないのが問題のようです。
コンストラクタで下記のように初期化すればよさそうです。
szDllName[0] = _T('\0');
他のメンバ変数も初期化したほうがよさそうです。
▼
2014/2/6 (木) 23:01:04
syat
Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36
[2110]
Re3:タスクトレイのプロセスが異常終了します
▼ noviceさん
▼ LR4さん
ちょっと心当たりがあったのでパッチを作成しました。
https://
sourcefo
rge.
net/
p/
sakura-
editor/
patchuni
code/
768/
リリース前に余計なことをしたような…
▼
2014/2/8 (土) 00:22:44
novice
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0
[2118]
Re3:タスクトレイのプロセスが異常終了します
▼ noviceさん
> SSelLangInfo構造体のメンバ変数szDllNameを初期化してないのが問題のようです。
> コンストラクタで下記のように初期化すればよさそうです。
> szDllName[0] = _T('\0');
>
> 他のメンバ変数も初期化したほうがよさそうです。
少し調べてみました。
SSelLangInfo構造体は、POD型なので
new SSelLangInfo();
のように括弧を付けるとゼロで初期化されるようです。
new SSelLangInfo;
だとゼロで初期化されないので文字化けします。
http://
msdn.
microsof
t.
com/
ja-
jp/
library/
80ks028k
%
28v=
vs.
90%
29.
aspx
古いコンパイラ(2003)でもゼロで初期化されました。
▼
2014/2/8 (土) 11:29:13
syat
Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36
[2119]
Re4:タスクトレイのプロセスが異常終了します
build_config.h にある USE_LEAK_CHECK_WITH_CRTDBG を使用すると、
「warning C4345: 動作変更 : 形式 () の初期化子で構築される POD 型のオブジェクトは既定初期化されます。」
という警告が出るのを解消したかったのです。
http://
d.
hatena.
ne.
jp/
hiiragi_
corona/
20120618
/
13400128
43
こちらを見ると、@警告を無視する、Aクラスにする、Bコンストラクタ呼ばないのどれかということなので、BをやろうとしましたがNGでした。
とりあえず無視してよい警告のようなので修正を戻しました。
▼
2014/2/8 (土) 14:02:03
novice
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0
[2123]
Re5:タスクトレイのプロセスが異常終了します
▼ syatさん
> build_config.h にある USE_LEAK_CHECK_WITH_CRTDBG を使用すると、
> 「warning C4345: 動作変更 : 形式 () の初期化子で構築される POD 型のオブジェクトは既定初期化されます。」
> という警告が出るのを解消したかったのです。
自分もUSE_LEAK_CHECK_WITH_CRTDBGは有効にしていて、コンパイル時にC4345が表示されていたので気にはなっていたのですが、POD型の意味がよく分からずにほったらかしてました。
(そういう経緯があったので、少し調べてみました)
参考までに、もっと古いコンパイラ(VC6)だとゼロで初期化されませんでした。
[
▼次のスレッド
]
INCM/CMT
Cyclamen v3.81
[ut:0.010][st:0.000]