我的DLL上放了一个Form,上面放一个query,datasource,dbgrid,一个Button
Button的click事件:Query1.open;我在DLL里运行的时候,一切正常,按下button出现数据,然后关掉dll中的form,再关掉主调用程序的form时,就先出现如下错误信息:
Project D:\CallDll\Project1.exe faulted with message:'access violation at 
0x4be43541:read of address 0xfff82798'.Process stopped.Use Step or Run to continue.然后就出现那个CPU汇编调试对话框,请问是怎么回事啊???

解决方案 »

  1.   

    读数据库问题?
    把你button click事件写出来看看
      

  2.   

    unit uMain;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, DB, ADODB, StdCtrls,QuickRpt, ExtCtrls, RpDefine, RpRave,
      DBTables, RpCon, RpConDS, Grids, DBGrids;type
      TfrmuMain = class(TForm)
        ADOConnection1: TADOConnection;
        Button1: TButton;
        Query1: TQuery;
        Button2: TButton;
        DataSource1: TDataSource;
        DBGrid1: TDBGrid;
        Edit1: TEdit;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;procedure ReportForms(H:  THandle; AConn: TADOConnection);   cdecl;var
      frmuMain: TfrmuMain;implementation{$R *.dfm}procedure ReportForms(H:  THandle; AConn: TADOConnection);   
    begin
      Application.Handle  :=  H;
      with  TfrmuMain.Create(Application)  do
        try
          ADOConnection1  :=  AConn;  {  获得数据库连接的实例  }
          ShowModal;
        finally
          Free;
        end;
    end;procedure TfrmuMain.Button1Click(Sender: TObject);
    begin
      query1.Open ;
    end;procedure TfrmuMain.Button2Click(Sender: TObject);
    begin
     // RvProject1.Execute ;
      query1.Close ;
    end;end.
    *********************************************
    我用的是BDE连接的数据库,是不是这个方面的问题???
      

  3.   

    form的图标,不要用真彩色的,降低图标的色彩位数.
      

  4.   

    我用的BDE连接的,如果我用ADO连接就没有问题,是不是跟这个有关?