10/25 21:38 原因判明。こいつだけVC++2010ランタイムが入っていなかったことが判明…うちのPCは開発用ばっかりなんでこのへんが入ってるのは当たり前だったゆえに気づかなかった。警告も出ない(出ない理由もわかる)ので…(苦笑
(muma)
10/25 21:49 現行のC86CTLは「対応実行ファイルのフォルダにDLLをコピーしてね」という使い方。だがランタイムがインストールされていない環境では、C86CTL.DLLのロードに失敗する
(rahu)
10/25 21:52 しかし、GIMIC対応アプリは普通「GIMICが入っていない環境ではC86CTL.DLLがないだろうから、DLLのロードに失敗したら黙ってGIMIC対応をスキップする」という書き方をする。ゆえに、警告が出ないままGIMIC非対応状態でアプリが起動してしまう…というわけ
(rapu)
10/25 21:55 解決法としては「C86CTL.DLLの存在をチェックして、DLLが存在しているのにDLLのロードに失敗した場合は警告を出す」ようにするのが適切かな…コード的には数行書き足すだけでいいはず (rire)
10/25 22:02 @yuinejp PathFindOnPath()という便利なAPIが https://msdn.microsoft.com/ja-jp/library/windows/desktop/bb773594(v=vs.85).aspx
(rebu)
10/25 22:02 (
@gorry5)
@yuinejp PathFindOnPath()という便利なAPIが https://msdn.microsoft.com/ja-jp/library/windows/desktop/bb773594(v=vs.85).aspx
(rebu)
10/25 22:07 でも .netで依存するDLLがない場合に 0x8000なんたらってメッセージボックスが出るから LastErrorで取れそうな気もします...
(robo)