1,183
社区成员
发帖
与我相关
我的任务
分享
procedure TForm1.Button1Click(Sender: TObject);
var
ret:WideString;
begin
ret:=GetXmlStr; //声明于DLL中的接口
ShowMessage(ret);
end;
function GetXmlStr:WideString;stdcall;
var
AComp:TComponent;
AXml:TXmlDocument;
begin
Activex.CoInitialize(nil);
try
AComp:=TComponent.Create(nil);
AXml:=TXmlDocument.Create(AComp);
try
AXml.Active:=True;
AXml.DocumentElement:=AXml.CreateNode('TestRoot');
AXml.DocumentElement.Attributes['DateTime']:=FormatDateTime('YYYYMMDDHHMMSSZZZ',Now);
Result:=AXml.XML.Text;
finally
AXml.Free;
AComp.Free;
end;
except on e:Exception do
Result:=e.Message;
end;
// try
activex.CoUninitialize;
// except on e:Exception do
// Result:=Result+'===='+e.Message;
// end;
end;
procedure DllEntry(Reason: Integer);
begin
case Reason of
DLL_PROCESS_ATTACH,
DLL_THREAD_ATTACH:CoInitialize;
DLL_PROCESS_DETACH,
DLL_THREAD_DETACH:CoUninitialize;
end;
end;