◀ANSI版開発トップへ
5710
C/Migemo 32ビット最新版でサクラエディタが不正終了
5711
RE: C/Migemo 32ビット最新版でサクラエディタが不正終了
5712
RE2: C/Migemo 32ビット最新版でサクラエディタが不正終了
[5710]
C/Migemo 32ビット最新版でサクラエディタが不正終了
通りすがり
2011年03月06日 17:40
サクラエディタの1.6.6.0で
C/Migemo の32ビット最新版(20110227版)
http://
www.
kaoriya.
net/
software
/
cmigemo/
win32dll
http://
cmigemo.
googleco
de.
com/
files/
cmigemo-
default-
win32-
20110227
.
zip
を使うと、サクラエディタごと落ちません?
http://
www.
kaoriya.
net/
blog/
201103/
20110306
_2
をみるかぎりでは、C/Migemoの作者の方には
DLL側を直す気がないように読み取れました。
[5711]
RE: C/Migemo 32ビット最新版でサクラエディタが不正終了
げんた
2011年03月06日 20:00
>http://cmigemo.googlecode.com/files/cmigemo-default-win32-20110227.zip
>を使うと、サクラエディタごと落ちません?
呼び出し規約が
v1.2まで: cdecl
v1.3~ : stdcall
ですから,たぶん落ちますね.
サクラエディタでは呼び出し規約が"__cdecl"と明示されていました.
履歴を見るとソースが変更されたのは2007年ですが,バイナリが出たのはつい先日なんですね...
v1.3に合わせるのは簡単ですが,単純に合わせると,こんどは古い方で落ちるようになります.
作者の人に問い合わせてみましょうかね.
[5712]
RE2: C/Migemo 32ビット最新版でサクラエディタが不正終了
げんた
2011年03月06日 22:00
>作者の人に問い合わせてみましょうかね.
作者に聞いてみました.
v1.2と1.3の識別はリソース内の番号を見るしかないようです.
v1.2は"2002.6.22.17"
v1.3(20110227)は"1.3.0.175"
です.
現在ホームページより入手できるv1.2より古い物が公開されていたかどうかはわからないとのことでした.
なので,
1. DLLロード前にリソース内のVERSIONINFOを読み出す.
2. 1桁目が2002だったら(念のため1900~2002だったらにしておくか?)v1.2と判断して
3. 使用できないので最新版を使用するよう表示する.
とする必要があると思います.