DLL の使用で Ver.8.99 と Ver.9.00 で動No.10645
Iranoan さん 21/11/29 21:52
 
秀まるおさん今日は Iranoan です
田楽 DLL
http://www.ceres.dti.ne.jp/~sugiura/hidemaru/macros/dgserver/index.html
を使った
loaddll "DengakuDLL.dll";
$s = dllfuncstr("GETFILENAME",0,"sample","","*");
といったマクロを使った場合、Ver.8.99 と Ver.9.00 で動作が違います

秀丸エディア Ver.8.99 だと付属ドキュメントどおり、最初に開かれるフォルダがカ
レント・ディレクトリなのですが、Ver.9.00 だと秀丸エディタをインストーしたフ
ォルダになります
付属ドキュメントのもう一つの方法 "." としても同じでした
またこの DLL 関数に限らず、他のフォルダ/ファイル参照系の機能はどれも同じ違い
が起きています

DLL の問題と考えるべきか、秀丸エディタのレベル・ダウンと捉えるべきかどちらで
しょう

[ ]
RE:10645 DLL の使用で Ver.8.99 と Ver.9No.10646
h-tom さん 21/11/29 22:32
 
h-tom です。

>DLL の問題と考えるべきか、秀丸エディタのレベル・ダウンと捉えるべきかどちら
>でしょう
Ver.9.00からカレントフォルダを動かさないようにしたからでしょう。

設定変えればVer.8系と同じになるのでは?
動作環境 - トラブル対策 - その他のトラブル対策 - カレントフォルダ移動

[ ]
RE:10646 DLL の使用で Ver.8.99 と Ver.9No.10647
Iranoan さん 21/11/30 00:30
 
h-tom さん今日は Iranoana です
> >DLL の問題と考えるべきか、秀丸エディタのレベル・ダウンと捉えるべきかどち
>らでしょう
> Ver.9.00からカレントフォルダを動かさないようにしたからでしょう。
>
> 設定変えればVer.8系と同じになるのでは?
> 動作環境 - トラブル対策 - その他のトラブル対策 - カレントフォルダ移動
確かに「移動する」で同じになります

ただヘルプには
> 通常の場合、秀丸エディタは開いているファイルのあるフォルダをカレントフォル
>ダにしています
とあり、「開く」等のコマンドでは開いているファイルの存在するフォルダがカレン
ト・フォルダです
そして「自動」の場合は
> 通常はカレントフォルダを移動するモードとして動作します。
> フォルダのアクセス権によってカレントフォルダを移動できない場合は、自動的に
>カレントフォルダを移動しないモードに切り替えます
とあり、基本は「移動する」と同じで、先のマクロは実在する編集可能ファイルを開
いた状態、つまりアクセス権も問題ない、読み書き可能フォルダで実行しても、秀丸
をインストールしたフォルダでダイアログ・ボックスが開かれるのが不思議です

[ ]
RE:10647 DLL の使用で Ver.8.99 と Ver.9No.10648
秀丸担当 さん 21/11/30 09:31
 
Iranoanさんこんにちは。
h-tomさんの言われる通り、カレントフォルダ移動はデフォルトでは移動しないモー
ドとなるように変更がありました。
移動するモードにすると従来通りになると思います。
ヘルプの「通常の場合…」というのは適切ではありませんでした。すみません。ヘル
プを書き直しておきます。

移動しないモードのままでも、田楽DLLの場合はloaddllの後にSETCURDIRを呼んでカ
レントフォルダを指定することもできそうでした。

loaddll hidemarudir + "\\DengakuDLL.dll";
if (!result) {
    message "DLL をロードできませんでした。";
    endmacro;
}
#n=dllfunc("SETCURDIR",directory2);

[ ]
RE:10648 DLL の使用で Ver.8.99 と Ver.9No.10649
Iranoan さん 21/11/30 11:09
 
秀丸担当さん今日は Iranoan です
> h-tomさんの言われる通り、カレントフォルダ移動はデフォルトでは移動しない
>モードとなるように変更がありました。
> 移動するモードにすると従来通りになると思います。
> ヘルプの「通常の場合…」というのは適切ではありませんでした。すみません。ヘ
>ルプを書き直しておきます。
使用が変更され、ヘルプが誤っているということですね

# 公開しているマクロを修正せねば

[ ]