dll里面是library Project1;
uses
  SysUtils,
  Classes,
  Unit1 in 'Unit1.pas' {Form1};{$R *.res}
procedure aaa();
begin
  form1.Show;
end;
exports
aaa;
begin
end.exe里面是unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form1: TForm1;implementation{$R *.dfm}
procedure aaa();
external 'Project1.dll';
procedure TForm1.Button1Click(Sender: TObject);
begin
  aaa;
end;end.提示错误 怎么修改  各位大哥帮看看

解决方案 »

  1.   

    library Project1;
    uses
      SysUtils,
      Classes,
      Unit1 in 'Unit1.pas' {Form1};{$R *.res}
    procedure aaa();
    begin
      form1.Show;
    end;
    exports
    aaa;
    //不明白你在这里加begin那么end在什么地方呢
    end.
      

  2.   

    我只要能吧dll里面的那个   Unit1 in 'Unit1.pas' {Form1};  给show出来就OK了
      
      

  3.   

    检查窗体是否创建实例,建议在aaa过程当中创建并使用ShowModule代替Show结束后Free掉.
      

  4.   


    library Project1;
    uses
      SysUtils,
      Classes,
      Unit1 in 'Unit1.pas' {Form1};{$R *.res}
    procedure aaa();
    begin
      form1:=Tform1.Create(nil);
      form1.ShowModule;
    end;
    exports
    aaa;
    begin
    end.