在EXE应用程序种有一个含有数据的数据集,我把它作为参数传递到DLL中,如下示意:
ShowForm(Application,Query);//调用DLL
但是我去不能在DLL中正常的使用它,DLL中的源代码
function ShowForm(A: TApplication;Query:TadoQuery): Bool;
var
Form1: TfrmDLL;
begin
Application.Handle := A.Handle;
ShowMessage(inttostr(Query.RecordCount));//此处正常返回Query的记录数
Form1 := TfrmDLL.Create(A);//一个有表格的form,表格的DataSource是DataSource1
try
Form1.DataSource1.DataSet:=Query;
Result := (Form1.ShowModal = mrOK);//已经看见了各列的头,但没有记录.并有内存冲突
finally
Form1.Free;
end;
end;
高手指点,如何在DLL中正常使用EXE传递的数据集?
ShowForm(Application,Query);//调用DLL
但是我去不能在DLL中正常的使用它,DLL中的源代码
function ShowForm(A: TApplication;Query:TadoQuery): Bool;
var
Form1: TfrmDLL;
begin
Application.Handle := A.Handle;
ShowMessage(inttostr(Query.RecordCount));//此处正常返回Query的记录数
Form1 := TfrmDLL.Create(A);//一个有表格的form,表格的DataSource是DataSource1
try
Form1.DataSource1.DataSet:=Query;
Result := (Form1.ShowModal = mrOK);//已经看见了各列的头,但没有记录.并有内存冲突
finally
Form1.Free;
end;
end;
高手指点,如何在DLL中正常使用EXE传递的数据集?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货