首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

请教怎么向DLL中传递TDataModule

2013-09-09 
请问如何向DLL中传递TDataModule有一个exe,包含一个TDataModule,TDataModule中包含数个DataSet,定义了一个

请问如何向DLL中传递TDataModule
有一个exe,包含一个TDataModule,TDataModule中包含数个DataSet,定义了一个TDataModule变量.
有一个dll,引用了这个DataModule的单元,并定义了一个TDataModule变量.输出了一个方法.
如下:


library DDPH;

uses
  SysUtils,
  Windows,
  Form1 in 'Form1.pas' {Form1},
  DBMain in '..\DBMain.pas' {DataMain: TDataModule};

procedure SetDBMain(ADBMain: TDBMain); stdcall;
begin
  Form1.DBMain := ADBMain;
end;

exports
  SetDBMain;
begin
end;

之后在exe中动态调用这个DLL,并执行SetDBMain这个方法,参数为Exe中已经实例化的DataModule变量.
问题是:
    当我在DLL中使用这个DataModule中的DataSet时,有时正确,有时会提示内存溢出的错误,有时连提示都没有,直接退出程序.
我想知道为什么会出现这样的问题,为什么是好是坏,我应该怎么做才是正确的? delphi 内存溢出 dataset 实例 DataModule
[解决办法]
procedure SetDBMain(AForm1: TForm1; ADBMain: TDBMain); stdcall;
begin
  AForm1.DBMain := ADBMain;
end;
[解决办法]
你的dll不可能被其他语言程序所调用,所以用bpl包代替dll。

热点排行