应用程序如何获取dll中的数据集? 急!在线等待!!!
我在dll中用ado完成数据的读取。现应用程序如何获取dll中的数据集,并显示在dbgrid中呢?
我在report.dll中是这样写的
function ReportKMYE(handle:THandle;Pathstr:string): TDataSet;StdCall;
begin
Application.Handle :=handle;
dlldm:=Tdlldm.Create(application);
dlldm.ADOQReport.SQL.Text := 'select * from table1';
dlldm.ADOQReport.Open;
Result:= dlldm.ADOQReport ;
end;
在应用程序中
procedure TForm1.NRepKmyeClick(Sender: TObject);
var
libHandle:thandle;
ReportKMYE:TReportKMYE;
begin
try
libHandle:=LoadLibrary('report.dll');
@ReportKMYE:=GetProcAddress(libHandle,pchar('ReportKMYE'));
if not Assigned(ReportKMYE) then
raise exception.Create('error')
else
begin
dm1.ds12.DataSet:=ReportKMYE(application.handle,pathstr) ;
DBGrid1.DataSource:=dm1.ds12;
end;
finally
Freelibrary(LibHandle);
end;
end;
包错“Invalid Pointer Operation”
盼指教!!急!在线等待!!!