|
h-tom です。
秀丸担当さんが、マクロ会議室に書き込んだマクロを書き換えたら、
DebugMessageが表示されました。
---------------------------
DebugMessage
---------------------------
Buffer overrun at LocalFree (1187) <文字化けした内容>
\util.cpp(989) error = 158
---------------------------
OK
---------------------------
書き換えたのは、3箇所です。
前1:$strOutput = "Output.txt";
後1:$strOutput = "D:\\temp\\test_sjis.txt";
前2:callmethod #objStream, "SaveToFile", $strOutput, 2;
後2:callmethod #objStream, "SaveToFile", $strOutput, 1;
allowobjparam 0;
の位置を、
callmethod #objStream, "SaveToFile"〜
の後ろへ移動。
・"allowobjparam 0; "の位置を、元の場所に戻すと、DebugMessageは表示されない。
・$strOutputの内容を、一文字でも変更すると、"allowobjparam 0; "の場所に関係
なく、DebugMessageは表示されない。
dump.txtが必要なら、連絡をお願いします。
(文字化けした箇所もあるので、圧縮してメールで送ったほうがいい?)
//ここから----------------
$strOutput = "D:\\temp\\test_sjis.txt"; //変更1
$strUrl = "http://hide.maruo.co.jp/";
question $strOutput + "に\n" + $strUrl + "の内容を保存していいですか?";
if( result == no ) endmacro;
#objHttp = createobject("Msxml2.XMLHTTP");
callmethod #objHttp, "Open", "GET", $strUrl, 0;
callmethod #objHttp, "Send";
#objStream = createobject( "ADODB.Stream" );
callmethod #objStream, "Open";
setpropnum #objStream, "Type", 1;//adTypeBinary
allowobjparam 2;
$binBody = getpropstr( #objHttp, "responseBody" );
callmethod #objStream, "Write", $binBody;
//allowobjparam 0; //変更3
callmethod #objStream, "SaveToFile", $strOutput, 1; //変更2
allowobjparam 0; //変更3
callmethod #objStream, "Close";
openfile $strOutput;
endmacro;
//ここまで----------------
|
|