function DoJavascript(strJavaScriptContent: string): string;
var
jscript: olevariant;
begin
result := ''; try
try
jscript := CreateOleObject('ScriptControl');
jscript.AllowUI := false;
jscript.Language := 'JScript'; jscript.AddCode(strJavaScriptContent);
result := jscript.Run('getResultString');
except
on e: exception do
begin
showmessage('错误:'+e.message);
end;
end;
finally
//jscript.reset;
jscript := UnAssigned;
end;end;
test example:
JS代码正确的例子
for i:= 1 to 10000 do
begin
s := DoJavascript('function getResultString(){return 123;}');
end;
JS代码不正确的例子
for i:= 1 to 10000 do
begin
s := DoJavascript('function getResultString(){return 123'';}');
end;
var
jscript: olevariant;
begin
result := ''; try
try
jscript := CreateOleObject('ScriptControl');
jscript.AllowUI := false;
jscript.Language := 'JScript'; jscript.AddCode(strJavaScriptContent);
result := jscript.Run('getResultString');
except
on e: exception do
begin
showmessage('错误:'+e.message);
end;
end;
finally
//jscript.reset;
jscript := UnAssigned;
end;end;
test example:
JS代码正确的例子
for i:= 1 to 10000 do
begin
s := DoJavascript('function getResultString(){return 123;}');
end;
JS代码不正确的例子
for i:= 1 to 10000 do
begin
s := DoJavascript('function getResultString(){return 123'';}');
end;
我一般都是用组件,就不觉得有什么不妥的http://lysoft.7u7.net
jscript.quit;jscript.close;
之類的方法jscript := UnAssigned;
而在WIN2000上,内存泄露特别明显,调用10000次,大约内存泄露100M左右。
谁能帮我解决一下呀
我以前安装过IE6.0的SP1,和其他的一些补丁,有上面说的内存泄露,
重新安装了IE6.0的SP1,内存泄露已经解决。我测试了3台WIN2000的机器,都是这个问题。估计是某个补丁,引起的问题。