说明:我连接的数据库是RACLE,to_bi和to_xd都能连接到ORACLE数据库我建了一个DataModule单元,其中包含两个连接(to_bi和to_xd,即TADOConnection)。内容如下:
unit data_my;interfaceuses
  SysUtils, Classes, DB, ADODB;type
  TDataModule2 = class(TDataModule)
    to_bi: TADOConnection;
    to_xd: TADOConnection;
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  DataModule2: TDataModule2;implementation{$R *.dfm}end.---------------------------------------------------------------------
我在登录表单使用了to_xd,当程序执行到ADOQuery1.Connection:=datamodule2.to_xd;时就提示错误:
Access violation at address 005085CD in module 'yyy.exe'. Read of address 0000005C.unit quanxian;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, StdCtrls;type
  TForm3 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    uname: TEdit;
    upass: TEdit;
    Button1: TButton;
    Button2: TButton;
    ADOQuery1: TADOQuery;
    ADOConnection1: TADOConnection;
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form3: TForm3;implementation//uses data_my,func;{$R *.dfm}procedure TForm3.FormShow(Sender: TObject);
begin
ADOQuery1.Connection:=datamodule2.to_xd; //执行到这里出错
end;end.
---------------------------------------------------------------------
奇怪的是,在其他表单使用to_xd连接数据库不会提示错误
procedure TForm1.FormCreate(Sender: TObject);
begin
  adoquery1.Connection:=datamodule2.to_xd;
end;
---------------------------------------------------------------------
请问各位高手,为什么在登录表单里执行到ADOQuery1.Connection:=datamodule2.to_xd;就会提示内存错误,而在其他表单不会提示错误,如何解决?