|
秀まるおさん、返答ありがとうございます。
■共通点 は HmPHPSimpleServer.mac にあり(?)
```
BeginMacro Memory Error (6)
今回の
BeginMacro Memory Error (7)
```
両方に共通して言えることは、どうも
自分が作った「HmPHPSimpleServer.mac」が実行されていることに思えました。
(拡張子が.php のファイルを秀丸で開いてる時に出るので。
多分「ファイルを開いた直後」に出るんだと思うのですが、「上書き保存」した時
かもしれず、基本的に無意識夢想なのであまり自身がありませんw)
■ HmPHPSimpleServer
https://xn--pckzexbx21r8q9b.net/?page=nobu_tool_hm_php_simple_server
このマクロを.phpの時の「自動起動マクロ」に登録している
(eventキーワード=1 [ファイルを開いた直後]) の時に上記 HmPHPSimpleServer.mac
が実行されるようにしています。
このマクロは長いわけではなく、
https://github.com/komiyamma/hm_php_simple_server/blob/main/src/HmPHPSimpleServer/bin/Release/HmPHPSimpleServer.mac
となっています。
怪しそうな項目は2つかと思います。
(1)「1つのマクロの中」で、
setstaticvariable k, v, 1
getstaticvariable k, 1
と
setstaticvariable k, v, 2
getstaticvariable k, 2
の両方が使われている
(元来はもちろん問題はないハズ)
(2)「1つのマクロの中」で
共用メモリにアクセスしており(setstaticvariable, getstaticvariable)と
かつ個別ブラウザにアクセスしている
(元来はもちろん問題はないハズ)
あたりだと思います。
■HmPHPSimpleServer.dll
HmPHPSimpleServer.mac から呼ばれている HmPHPSimpleServer.dll も調べてみまし
たが、
https://github.com/komiyamma/hm_php_simple_server/blob/main/src/HmPHPSimpleServer/HmPHPSimpleServer.cs
本来は問題はないハズですが、
もし、問題が起きてるのだとすれば、上記の270行目〜306行目あたりでしょうか。
(1)Hm.Macro.Exec.File とは秀丸本体側で用意されている「SendMessageにWM_REMOTE
_EXECMACRO_FILEを渡す処理」のラッパーのことですが、
これで呼びだされたマクロファイルに、setstaticvariableやgetstaticvariableが記
述されていて大丈夫なのか?といった問題。
(本来は問題ないハズですが...)
(2)SendMessageを呼び出しているスレッド自体が「秀丸のマクロスレッド」とは「異
なるスレッド」であるという問題。
■setcompatiblemode 0x08000000
HmPHPSimpleServer.macに一旦
setcompatiblemode 0x08000000;
を入れて試してみることにはします。
■追伸
上述の
```
https://github.com/komiyamma/hm_php_simple_server/blob/main/src/HmPHPSimpleServer/bin/Release/HmPHPSimpleServer.mac
```
はこの投稿を書いてる途中に
```
setcompatiblemode 0x08000000;
```
を追加しちゃったので(もしデバッグ等に利用する際は)注意してください。
(setcompatiblemode 0x08000000は元々は無かったため消してください)
|
|