level 2
wwfwof
楼主
delphi 6 编译的ocx,在window server 2003上一直运行正常,程序安装到window server 2012后就报莫名奇妙的内存错,程序就异常退出了,求大神帮忙解决。
函数原型如下,funaaa返回失败后,raise Eaaa.Create 就会报内存错。
function TTask.Get(Cond: GetCond): string;
var
raaa: Paaa;
rMySysParam: PMySysParam;
begin
result := '';
raaa := AllocMem(sizeof(Paaa));
rMySysParam := AllocMem(sizeof(MySysParam));
try
if funaaa(Cond.a, raaa) = SUCCESS then
begin
……
……
end
else
begin
abc.GetSysParam(rMySysParam);
raise Eaaa.Create(rMySysParam^.errno, rMySysParam^.errmsg, rMySysParam^);
end;
finally
FreeMem(rMySysParam);
FreeMem(raaa);
end;
end;
2015年01月05日 07点01分
1
函数原型如下,funaaa返回失败后,raise Eaaa.Create 就会报内存错。
function TTask.Get(Cond: GetCond): string;
var
raaa: Paaa;
rMySysParam: PMySysParam;
begin
result := '';
raaa := AllocMem(sizeof(Paaa));
rMySysParam := AllocMem(sizeof(MySysParam));
try
if funaaa(Cond.a, raaa) = SUCCESS then
begin
……
……
end
else
begin
abc.GetSysParam(rMySysParam);
raise Eaaa.Create(rMySysParam^.errno, rMySysParam^.errmsg, rMySysParam^);
end;
finally
FreeMem(rMySysParam);
FreeMem(raaa);
end;
end;