PDA

View Full Version : هنگام اجراي پروژه با اين خطا روبرو ميشم چكاركنم؟؟



manzare
چهارشنبه 02 مرداد 1387, 12:28 عصر
:گریه:سلام من هنگام اجراي پروژه با اين خطا روبرو ميشم اشكال كارم كجاست و چكار بايد بكنم

project c:/.../project1.exe faulted with message:'access violation at 0x0000000: read of address 0x000000'.
process stoped .use step or run to continue

vcldeveloper
چهارشنبه 02 مرداد 1387, 17:03 عصر
خیلی مشکلی کلی هست، و نمیشه همینطوری با این توضیحات غیر از مطالب کلی، چیزی گفت. بهتره که شما Access Violation را در بخش دلفی جستجو کنید. درباره اش مقاله ایی در سایت هست.

اصغر (پآچ)
پنج شنبه 03 مرداد 1387, 00:12 صبح
سلام دوست من

ببین شما بیا تمام فرم هات رو هر کدی که توی رویداد OnCreate نوشتی رو به رویداد OnShow منتقل کن احتمالا مشکلت حل میشه چون اکثرا وقتی این پیغام در هنگام اجرای برنامه داده میشه که شما بخوای به یه متغییر یا عنصر در فرمی که هنوز ساخته نشده و موجود نیست دسترسی پیدا کنی.

موفق و موید باشی

Hsimple11
پنج شنبه 03 مرداد 1387, 00:55 صبح
AV خطای کلی است. نمیتوان در مورد علت آن بدون دیدن برنامه چیزی گفت.

manzare
پنج شنبه 03 مرداد 1387, 11:09 صبح
وقتي كه فايل اجرايي رو باز ميكنم جواب ميده فقط وقتي كه ميخوام از توي محيط دلفي اجراش كنم اين خطا رو ميده
كد برنامه ي من اينه

program Exam;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2},
Unit3 in 'Unit3.pas' {Form3};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm3, Form3);
Application.Run;
end.


unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus,UNIT2,UNIT3;

type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
QuestionWorking: TMenuItem;
enteringQuestion1: TMenuItem;
EditingQuestion1: TMenuItem;
Exam1: TMenuItem;
Exit1: TMenuItem;
procedure enteringQuestion1Click(Sender: TObject);
procedure EditingQuestion1Click(Sender: TObject);
procedure Exam1Click(Sender: TObject);
procedure Exit1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.enteringQuestion1Click(Sender: TObject);
begin
enteringQuestion1.Checked:= NOT enteringQuestion1.Checked;
Form2 .Visible := enteringQuestion1.Checked
end;
procedure TForm1.EditingQuestion1Click(Sender: TObject);
begin
EditingQuestion1.Checked:= NOT EditingQuestion1.Checked;
Form3 .Visible:= EditingQuestion1.Checked ;
end;
procedure TForm1.Exam1Click(Sender: TObject);
begin
Exam1.Checked:= NOT Exam1.Checked;
Exam1.Visible:= Exam1.Checked;
end;
procedure TForm1.Exit1Click(Sender: TObject);
begin
Close;
end;
end.


unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, ExtCtrls, ADODB, DB, ShellCtrls;
type
TForm2 = class(TForm)
RadioGroup1: TRadioGroup;
RadioGroup2: TRadioGroup;
GroupBox1: TGroupBox;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
GroupBox2: TGroupBox;
GroupBox3: TGroupBox;
Edit6: TEdit;
ShellTreeView1: TShellTreeView;
Button1: TButton;
Button3: TButton;
Label6: TLabel;
Label7: TLabel;
ShellTreeView2: TShellTreeView;
Label8: TLabel;
Label9: TLabel;
Edit7: TEdit;
Button2: TButton;
ADOConnection1: TADOConnection;
ADOCommand1: TADOCommand;
ADOCommand2: TADOCommand;
Edit8: TEdit;
Label10: TLabel;
DataSource1: TDataSource;
ADODataSet1: TADODataSet;
ADOTable1: TADOTable;
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.Button3Click(Sender: TObject);
begin
ADOConnection1.Open;
case RadioGroup1 of
0:ADOCommand1.Parameters.Items[1].Value:=1;
1:ADOCommand1.Parameters.Items[1].Value:=2;
2:begin
ADOCommand1.Parameters.Items[1].Value:=3;
GroupBox2.Visible:=True;
end;
3:begin
ADOCommand1.Parameters.Items[1].Value:=4;
GroupBox3.Visible:=true;
end;
end;
case RadioGroup2 of
0:ADOCommand1.Parameters.Items[2].Value:=1;
1:ADOCommand1.Parameters.Items[2].Value:=2;
2:ADOCommand1.Parameters.Items[2].Value:=3;
end;
ADOCommand1.Parameters.Items[0].Value:=Edit1.Text;

ADOTable1.Last;
ADOCommand1.Parameters.Items[5].Value:= Int(ADOTable1.FieldByName('qcode').Value +1);
ADOCommand2.Parameters.Items[0].Value :=Int(ADOTable1.FieldByName('qcode').Value +1);
ADOCommand2.Parameters.Items[1].Value := Edit2.Text;
ADOCommand2.Parameters.Items[2].Value := Edit3.Text;
ADOCommand2.Parameters.Items[3].Value := Edit4.Text;
ADOCommand2.Parameters.Items[4].Value := Edit5.Text;
ADOCommand2.Parameters.Items[5].Value := Edit8.Text;
ADOCommand1.Execute;


end;
end.


unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids;
type
TForm3 = class(TForm)
DBGrid1: TDBGrid;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.dfm}
end.

Hsimple11
پنج شنبه 03 مرداد 1387, 11:27 صبح
اول این لینک را بخوانید :

Access Violation (http://barnamenevis.org/forum/%D9%85%D9%82%D8%A7%D9%84%D8%A7%D8%AA-%D9%85%D8%B1%D8%AA%D8%A8%D8%B7-%D8%A8%D8%A7-delphi-win32/64481-what-access-violations-are-and-how-to-prevent-avs.html)