有源程序的话不是很容易吗?
^_^
见一个dll,一个函数一个函数加呀◎
^_^

解决方案 »

  1.   

    1. Menu: file->new->New Dll  建立一个新DLL Project
    2. 将原exe Project 中输出的function , procedure 复制到 Dll Project
    3. exports 关键字下加入 function, procedure 的名称
    4. compile
      

  2.   

     TO FatBoy(白胖) 里面的窗体怎么办呢 ?您有例子吗?
      

  3.   

    里面的窗体一样呀用project-->add to project加入
      

  4.   

    看光碟的pdf文档了,当然,还的修改原代码
      

  5.   

    如果含有窗体:
    1)编写用于窗体创建并且输出窗体的函数。
    以下是对工程文件的操作:
    2)把保留字program 改为 livrary
    3)移去begin end之间的所有代码;
    4)在uses子句下,begin end块之前添加保留字exports。exports后是输出的函数名或过程名。
    5)从uses子句中移去Forms单元
    如果要在非delphi环境中使用,还要注意输出函数的参数的问题(不能使用string型参数),加stdcall参数压栈顺序声明。
    如果没有含窗体及vcl,就简单了,新建dll工程,加进原来的单元文件,重复以上第4)款。
    编译……
    调用……
      

  6.   

    2)把保留字program 改为 library
    4)在uses子句之后,begin end块之前添……
      

  7.   

    to yjf7888(风) 我该如何的调用已经编译好的DLL呢?
      

  8.   

    原来的工程(exe,只含一个窗体)
    program rw;uses
      Forms,
      rw1 in 'rw1.pas' {Form1};{$R *.RES}begin
      Application.Initialize;
      Application.CreateForm(TForm1, Form1);
      Application.Run;
    end.
    改为dll工程
    library rw;uses
      rw1 in 'rw1.pas' {Form1};{$R *.RES}
    function exform:boolean;
     var
    form1:TForm1;
    begin
    result:=false;
    Form1:=TForm1.Create(nil);
    try
     Form1.ShowModal;
     result:=true;
    finally
      Form1.Free;
      end;
    end;exports
       exform;begin
    end.这样调用(静态)
    program testformdll;//uses
    //  Forms;function exform:boolean;external 'rw.dll';
    {$R *.RES}begin
      exform;
    end.
    动态调用:
    program testformdll;uses
      windows;
    type
     Texform=function ():boolean;
    {$R *.RES}
    var
     exform:Texform;
     Handle:Thandle;
    begin
      Handle := LoadLibrary('rw.DLL');
      if Handle <> 0 then
      begin
        @exform := GetProcAddress(Handle, 'exform');
        if @exform <> nil then
        begin
          exform;
        end;
        FreeLibrary(Handle);
      end;
    end.
      

  9.   

    哈哈,我UP UP,UP
     试试看