procedure LoginNow(handle:hwnd;UserNameStr,PassWordStr:string);stdcall;implementationprocedure LoginNow(handle:hwnd;UserNameStr,PassWordStr:string);
var
  LoginMan1:LoginMan;
begin
  LoginMan1.LoginNow(handle,UserNameStr,PassWordStr);
end;
////////////////////////////////////////////////////////////////////////////////
自定义类
type
  LoginMan=class
  public
    procedure LoginNow(handle:hwnd;UserNameStr,PassWordStr:string);stdcall;
end;implementationprocedure LoginMan.LoginNow(handle:hwnd;UserNameStr,PassWordStr:string);
begin
  Application.Handle:=Handle;
  try
    begin
      DataModule1.ADOQuery1.SQL.Clear;//问题就在这里了!!!!!!!!!!!!!!!!!!!!!!
    end
  finally
    Application.Handle:=0;
end;
end;
////////////////////////////////////////////////////////////////////////////////
数据模块
type
  TDataModule1 = class(TDataModule)
    ADOConnection1: TADOConnection;
    ADOQuery1: TADOQuery;
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  DataModule1: TDataModule1;

解决方案 »

  1.   

    type
      LoginMan=class
      public
        procedure LoginNow(handle:hwnd;UserNameStr,PassWordStr:string);stdcall;
      end;
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation
    uses Unit2,unit3;{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    var
      LoginMan1:LoginMan;
    begin
      LoginMan1.LoginNow(handle,UserNameStr,PassWordStr);
    end;{ LoginMan }procedure LoginMan.LoginNow(handle: hwnd; UserNameStr,
      PassWordStr: string);
    begin
    begin
      Application.Handle:=Handle;
      try
        with DataModule2.ADOQuery1 do
        begin
          Close;
          SQL.Clear;  
          ..............
        end
      finally
        Application.Handle:=0;
    end;
    end;
    end;end.
     -----------没问题的, 你是否uses了DataModule2所属的单元?
      

  2.   

    好像在dll中应该先创建datamodule2然后再使用。