由于程序的特殊要求,需要把ADOConnection1重新创建一次
我在程序中这样创建的ADOConnection1:
    ADOConnection1.Close;
    ADOConnection1.DestroyComponents;
    ADOConnection1.Create(nil);
    ADOConnection1.ConnectionString:='Provider=MSDAORA.1;Password=bnjxkhxt;User ID=bnjxkhxt;Data Source=ora9';
    ADOConnection1.LoginPrompt:=false;
    ADOConnection1.Open('*','*');
在关闭程序主窗体时用ADOConnection1.free;
                    ADOConnection1:=nil;
释放的内存,可老是提示下面的错误:Application error
exception eaccess vilation in module 'project1.exe' at 00018226
access vilation at 00418226 in module 'project1.exe'.read of address 00000008 
还望好手指点谜经?

解决方案 »

  1.   

    ADOConnection1.DestroyComponents;
        ADOConnection1.Create(nil);这里的错误的!
    ADOConnection1:=TADOConnection.Create(nil);!!!
      

  2.   

    if Assigned(AdoConnection1) then
    begin
      ADOConnection1.free;
      ADOConnection1:=nil;
    end;
      

  3.   

    Try
     ADOConnection1:=TADOConnection.Create(nil);
    Finally 
      FreeAndNil(ADOConnection1);
    end;
      

  4.   

    ADOConnection1.DestroyComponents;
        ADOConnection1.Create(nil);这里的错误的!
    ADOConnection1:=TADOConnection.Create(nil);!!!
      

  5.   

    Try
     ADOConnection1:=TADOConnection.Create(nil);
    Finally 
      FreeAndNil(ADOConnection1);
    end;
    这个就行