我的程序可以在一台computer正常工作,但是到另外一台上出現了下面的ERROR:Exception Eaccessviolation in module sc.exe at 0004479f, access violation
at address 0004479f in module 'sc.exe',read of address 0000002d.
???

解决方案 »

  1.   

    你的程序调用了一个不存在的文件才导致这样的问题的,如:你调用了一个DLL文件,但是这个文件在这台机器上不存在,而你又没有写相应的出错处理代码,结果就是这样的了
      

  2.   

    Drate(鸟窝里的虫) 从简单的出错信息看出问题所在请问你是怎么看出来的?
      

  3.   

    程序:
    program sc;{%ToDo 'sc.todo'}uses
      Forms,
      UData in 'UData.pas' {DataModule1: TDataModule},
      Unit12 in 'Unit12.pas' {Form12},
      Unit33 in  'Unit33.pas' {Form33};
    {$R *.RES}
    var
      b: boolean;
      UserName: string;
    begin
      Application.Initialize;
      Application.CreateForm(TDataModule1, DataModule1);
      Application.CreateForm(TForm12, Form12);
      with Form12 do begin
        ShowModal;
        UserName:=Edit1.Text;
        b:=islogin;
        free;
      end;
      if not b then begin
        DataModule1.Free;
        halt;
      end;
      datamodule1.username:=username;
      Application.CreateForm(TForm33, Form33);
      with datamodule1.HR_UserRights_proc do begin
        parameters.ParamByName('@UserName').Value:=UserName;
        parameters.ParamByName('@Menu').Value:=1;
        Execute;
        Form33.N1.Enabled:=parameters.ParamByName('@UserRight').Value;
        parameters.ParamByName('@Menu').Value:=2;
        Execute;
        Form33.N2.Enabled:=parameters.ParamByName('@UserRight').value;
    end;
       application.run;
    end.to Drate:但是我以前在該COUMUTER上安裝的程序依然可以運行,如果DLL少了,為什么以前的程序未出錯,而現在的程序卻不能運行?