data module在动态链接库(dll)开发中如何使用?最好能提供一段代码,谢谢!

解决方案 »

  1.   

    function add(x:integer; y:integer):integer; stdcall;
    begin
      add := x + y;
    end;exports
     add;
      

  2.   

    http://expert.csdn.net/Expert/topic/1645/1645329.xml?temp=.7861292
      

  3.   

    有两种调用方法:动态、静态静态:
    function b(a,b:integer):integer;external '你的dll文件路径及名称' name 'add';
    或者
    function b(a,b:integer):integer;external '你的dll文件路径及名称' index 1;动态:
    1)把指定库模块装入内存:
    var
    HM:HMODULE;
    HM:=LoadLibrary('你的dll文件路径及名称'); 2)捡取给定模块中函数的地址:
    function add(a,b:integer):integer;//此函数与DLL中的函数相同
    GetProcAddress(HM,@add);3)释放
    function FreeLibrary(hLibModule: HMODULE): BOOL; stdcall;procedure TForm1.Button1Click(Sender: TObject);
      

  4.   

    一样的使用,只是要你自己手工创建它
    在FormCreate中
    Datamodule1 := TDataModule1.Create(Application);
    在FormDestroy中
    FreeAndNil(Datamodule1);
    就行了
      

  5.   

    搞错,,Sorry数据模型,如何在DLL中使用??
    我都唔知,帮不了你,很遗憾
      

  6.   

    你如果想从Dll引出DataModule对象实例的方法,那么我可以负责地告诉你,可以,但意义不大;
    但是你可以从Dll里引出一些调用了DataModule对象方法的函数和过程,其做法和标准Dll导出函数没甚么两样。
    只不过,你的Dll需要在加载时自动构造对象实例,并在卸载时自动析构它。