DLL在win2000下运行正常 在win98下运行两次就出错,为什么?(100分)

  • 主题发起人 主题发起人 深圳shi
  • 开始时间 开始时间

深圳shi

Unregistered / Unconfirmed
GUEST, unregistred user!

DLL内部
//***************************************************
function Print_AI_11(AHandle: THandle; ACaption: String):BOOL;
var
ListFm: TListFm;
begin
Application.Handle := AHandle;
ListFm := TListFm.Create(Application);//创建控件TForm
try
ListFm.Caption := ACaption;
Result := False; //反回成功值
finally
ListFm.Free;
end;
end;

//***************************

调用部分



type
TPrint_AI_11 = function (AHandle: THandle; ACaption: String): BOOL; StdCall;


CREATE 事件
LibHandle := LoadLibrary('EDll.dll');


try
if LibHandle = 0 then
raise EDLLLoadError.Create('不能找到EDll.dll');
@Print_AI_11 := GetProcAddress(LibHandle, 'Print_AI_11');
if not (@Print_AI_11 = nil) then
Print_AI_11(Application.Handle, '');
finally
FreeLibrary(LibHandle);
end;
 
后退
顶部