HmOutputPane.dll のexport関数はマルチ..No.08331
天翔記jp さん 16/09/07 14:11
 
「アウトプット枠への出力(HmOutputPane.dllのexport関数)はユニコードには未対応
なのかな?」
といった単純な問い合わせとなります。

・Output
・Put
・Push
などのインターフェイスは、マルチバイト用だと認識しています。

一方で、STARTUNIMACROといった、
「同じ関数のインターフェイスを
 マルチバイト用⇒ユニコード用へと
 スイッチングするための伝達関数かな?」
と思しき関数も確認できますが、判然とはしません。

現状、マルチバイト用のみが提供されている、
と認識しておけばよいですか?



[ ]
RE:08331 HmOutputPane.dll のexport関数No.08332
秀丸担当 さん 16/09/07 15:17
 

HmOutputPane.dllの、Output関数は、確かにdllfuncで呼ばれることになってい
て、dllfuncwは使えないです。
表面上はUnicode非対応の関数になっていますが、実際はUnicodeに対応していま
す。
STARTUNIMACROというエクスポートは、関数としては呼ばれることはなく、DLLが
内部的な特殊な文字列ををサポートすることを意味するダミー関数になります。

これがあるとき内部的にdllfuncのままUnicodeを受け渡せるようになっています。
内部的な文字は特殊な変換が必要でちょっとややこしいです。
本来は"OutputW"のようなdllfuncw用の関数があったほうがいいと思います。

Push, Popは文字列は使わないです。

[ ]