秀丸エディタ Ver.8.00β+スペルチェックマクロ

現在秀丸エディタVer.8.00 が β テスト中です。

そこでキャレット (文字カーソル) の扱いが変わったために、スペル・チェック・マクロの DLL 内部で行っていた Windows API によるキャレット位置取得が出来ません。そのため、現在公開中のマクロ Ver.0.74 を、秀丸エディタ Ver.8.00β で実行すると、スペル・ミスがあったときに表示されるダイアログ・ボックスが的確な位置に表示されません (秀丸エディタ/メールに公式に連携アドインが公開されたので、このマクロ自体は 2018/03/31 現在は削除済みです)

こういったことへの対処として、秀丸エディタ Ver.8.00 では、キャレット位置を取得するキーワードが用意されています。ですから、これを使えば、秀丸エディタ Ver.8.00 でもダイアログ・ボックスを的確な位置に表示できます。しかしそうすると、既存の秀丸エディタ Ver.7.11 では、新しいキーワードを使っているので、ダイアログ・ボックスの位置がおかしくなるどころではなく、マクロ・エラーとなって動きません(;_;)。同じ理由で、秀丸メールでも動かなくなります。そして、秀丸メールに秀丸エディタ Ver.8.00 が取り込まれるのは、かなり先だと思われます。

さて最新の秀丸エディタ/メールの両方で動き、ダイアログ・ボックスも的確な位置に出すにはどうしたものか。やはり

if( version >= 800 )execmacro currentmacrodirectory + "\\aspell\\ver8.mac"; else execmacro currentmacrodirectory + "\\aspell\\ver7.mac";

の要領で、ダミーのマクロを作成して、それぞれ別のマクロを呼び出すように場合分けするしかないかあ~。

2009/09/24 追記

追記するのを忘れましたが、やはり上記の方法ぐらいしか対処方法がなさそうなので、この方で対処して、Ver.0.75 として公開しました。

一度、同じ方法で Ver.0.74 を公開したのですが、Cygwin や Mingw を未インストールの状態だと、エラーになる状態になっていました。