function TManaDocFrm.CreateEmailSendOpr: boolean;
const
DllName = 'EmailSendOpr.dll';
FunctionName = 'CreateEmailSendOpr';
var
pFunction: function: IEmailSendOpr; stdcall; //动态库中创建接口的方法
begin
Result := False;
if Assigned(EmailSendOpr) then //如果接口存在
begin
//if not EmailSendOpr..Connected then
EmailSendOpr.TestConnect(Application.Handle);
Exit;
end;
//如果动态库不存在
if not FileExists(ExtractFilePath(ParamStr(0))+ DllName) then
begin
EmailSendOpr := nil;
MessageMe('缺少' + DllName + ',短信发送接口创建失败');
Exit;
end;
hEmailSendOpr := LoadLibrary(DllName);
if hEmailSendOpr <> 0 then //如果载入成功则获取SplitString函数的地址
begin
@pFunction := GetProcAddress(hEmailSendOpr, FunctionName);
if not (@pFunction = nil) then
try
EmailSendOpr := pFunction();
Result := True;
except
RaiseLastOSError;
end
else
RaiseLastOSError;;//RaiseLastWin32Error;
end
else
MessageMe('加载' + DllName + '失败');
end;
const
DllName = 'EmailSendOpr.dll';
FunctionName = 'CreateEmailSendOpr';
var
pFunction: function: IEmailSendOpr; stdcall; //动态库中创建接口的方法
begin
Result := False;
if Assigned(EmailSendOpr) then //如果接口存在
begin
//if not EmailSendOpr..Connected then
EmailSendOpr.TestConnect(Application.Handle);
Exit;
end;
//如果动态库不存在
if not FileExists(ExtractFilePath(ParamStr(0))+ DllName) then
begin
EmailSendOpr := nil;
MessageMe('缺少' + DllName + ',短信发送接口创建失败');
Exit;
end;
hEmailSendOpr := LoadLibrary(DllName);
if hEmailSendOpr <> 0 then //如果载入成功则获取SplitString函数的地址
begin
@pFunction := GetProcAddress(hEmailSendOpr, FunctionName);
if not (@pFunction = nil) then
try
EmailSendOpr := pFunction();
Result := True;
except
RaiseLastOSError;
end
else
RaiseLastOSError;;//RaiseLastWin32Error;
end
else
MessageMe('加载' + DllName + '失败');
end;