如何将TDataModule中的数据链接、数据源、数据集传给DLL中的DBGRID?

frankchp 2003-02-24 10:42:32
//主程序调用DLL
procedure TfrmMain.ProjectSumExecute(Sender: TObject);
var
DllHandle: Thandle;
DllExecute: Function(AHandle: THandle; ProjectID,UserID: PChar; Level: Integer;DataSource: TDataSource):DWord;stdcall;
begin
DllHandle := LoadLibrary(ProjectSumDllName);
if DllHandle <> 0 then
begin
@DllExecute := GetProcAddress(DllHandle,ProjectSumFunName);
if @DllExecute <> nil then
begin
DllExecute(frmMain.Handle,PChar(PROJECT_ID),PChar(FUserID),FLevel,data.daProjectSum);
@DllExecute := nil;
FreeLibrary(DllHandle);
end;
end;
end;
//DLL导出函数
function ProjectSumExecute(AHandle: THandle;ProjectID,UserID: PChar; Level: Integer;DataSource: TDataSource):DWord;
begin
Application.Handle := AHandle;
with TFrmMain.Create(Application) do
begin
MyDataSource := DataSource;
try
ShowModal;
finally
free;
end;
end;
result := 0;
end;
//DLL中主窗体
procedure TFrmMain.FormShow(Sender: TObject);
begin
try
dxDBGrid1.DataSource := MyDataSource;
DBNavigator1.DataSource := MyDataSource;
dxDBGrid1.DataSource.DataSet.Open;
dxDBGrid1.DataSource.DataSet.Edit;
except
end;
end;
注明:我在主程序中和DLL中均使用了Dev Express 中的DxDBGrid控件。
出现问题:经常出现莫名其妙的问题,我请教了以为高手,他说我的DLL地址冲突所致,有时程序甚至会自动关闭。请问是什么原因?
...全文
21 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lwk_hlj 2003-03-12
  • 打赏
  • 举报
回复
我想这样可以不?字串化!
数据集->字串->数据集
oracleexpert 2003-03-12
  • 打赏
  • 举报
回复
up
oracleexpert 2003-03-12
  • 打赏
  • 举报
回复
UP
frankchp 2003-02-25
  • 打赏
  • 举报
回复
哪位高手帮帮小弟,小弟不胜感激!!!,在线答复!!!可惜我分不够,要不都给了

2,496

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧