我的程序在退出系统时(执行 close ;)这句话句后指示错误
"Exception EAccessViolation in module Main.exe(注:是指主工程)at 0008C075
 Access violation at address 0048C075 in module 'Main.exe' , Read of address 00000008."每次执行close,就指示这样的错误,请问这是为什么呢

解决方案 »

  1.   

    代码很简单如下:
    unit GmccDelphi;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, ComCtrls, ExtCtrls, Menus, jpeg, StdCtrls, Buttons;type
      Tform_main = class(TForm)
        Panel1: TPanel;
        Panel2: TPanel;
        PageControl1: TPageControl;
        TabSheet1: TTabSheet;
        TabSheet2: TTabSheet;
        TabSheet3: TTabSheet;
        Panel3: TPanel;
        Panel4: TPanel;
        Label1: TLabel;
        Label2: TLabel;
        BitBtn1: TBitBtn;
        BitBtn2: TBitBtn;
        BitBtn3: TBitBtn;
        BitBtn4: TBitBtn;
        BitBtn5: TBitBtn;
        BitBtn6: TBitBtn;
        BitBtn7: TBitBtn;
        BitBtn8: TBitBtn;
        BitBtn9: TBitBtn;
        BitBtn10: TBitBtn;
        BitBtn11: TBitBtn;
        BitBtn12: TBitBtn;
        BitBtn13: TBitBtn;
        BitBtn14: TBitBtn;
        procedure BitBtn10Click(Sender: TObject);
        procedure BitBtn14Click(Sender: TObject);
        procedure BitBtn5Click(Sender: TObject);
        procedure BitBtn1Click(Sender: TObject);
        procedure BitBtn2Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      form_main: Tform_main;implementationuses datamo, w_send_add , w_send_list ;{$R *.dfm}
    procedure Tform_main.BitBtn5Click(Sender: TObject);
    begin
      Close;
    end;procedure Tform_main.BitBtn1Click(Sender: TObject);
    var
      send_add :  Tfsend_add;
    begin
      send_add := Tfsend_add.create(self);
      send_add.showModal;
    end;procedure Tform_main.BitBtn2Click(Sender: TObject);
    var
      send_list : Tfsend_list ;
    begin
      send_list := Tfsend_list.create(self);
      send_list.showModal;
    end;
    一执行close就错误了
    end.
      

  2.   

    send_add := Tfsend_add.create(self);
      send_add.showModal;
    send_add.free;
    var
      send_list : Tfsend_list ;
    begin
      send_list := Tfsend_list.create(self);
      send_list.showModal;
      send_list.free;
      

  3.   

    在main中的代码如下:
    program Main;uses
      Forms,
      GmccDelphi in 'GmccDelphi.pas' {form_main},
      datamo in 'datamo.pas' {dmHuman: TDataModule},
      w_send_add in 'w_send_add.pas' {fsend_add},
      w_send_list in 'w_send_list.pas' {fsend_list};{$R *.res}begin
      Application.Initialize;
      Application.CreateForm(Tform_main, form_main);
      Application.CreateForm(TdmHuman, dmHuman);
      Application.Run;
    end.