Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Access Violation


Страницы:   1 2 3 4

Andrewtitoff ©   (2009-02-11 10:11:00) 

Здравствуйте!, подскажите пожалуйста что тут не так?, выскакивает ошибка Access Violation at adress 00404D68 in module 'otchet.exe'. Read of adrdress 403DFFF8

ShowMessage(
' Бригада 1: '+Format('%.4d',[brig[uch[strtoint(Form1.ComboBox8.Text),1]]])+'/'+Format('%f', [brigt[uch[strtoint(Form1.ComboBox8.Text),1]]])+#13#10+
' Бригада 2: '+Format('%.4d',[brig[uch[strtoint(Form1.ComboBox8.Text),2]]])+'/'+Format('%f', [brigt[uch[strtoint(Form1.ComboBox8.Text),2]]])+#13#10+
' Бригада 3: '+Format('%.4d',[brig[uch[strtoint(Form1.ComboBox8.Text),3]]])+'/'+Format('%f', [brigt[uch[strtoint(Form1.ComboBox8.Text),3]]])+#13#10+
' Бригада 4: '+Format('%.4d',[brig[uch[strtoint(Form1.ComboBox8.Text),4]]])+'/'+Format('%f', [brigt[uch[strtoint(Form1.ComboBox8.Text),4]]])+#13#10+
' Бригада 5: '+Format('%.4d',[brig[uch[strtoint(Form1.ComboBox8.Text),5]]])+'/'+Format('%f', [brigt[uch[strtoint(Form1.ComboBox8.Text),5]]])+#13#10+
' Бригада 6: '+Format('%.4d',[brig[uch[strtoint(Form1.ComboBox8.Text),6]]])+'/'+Format('%f', [brigt[uch[strtoint(Form1.ComboBox8.Text),6]]])+#13#10+
' Бригада 7: '+Format('%.4d',[brig[uch[strtoint(Form1.ComboBox8.Text),7]]])+'/'+Format('%f', [brigt[uch[strtoint(Form1.ComboBox8.Text),7]]])+#13#10+
' Бригада 8: '+Format('%.4d',[brig[uch[strtoint(Form1.ComboBox8.Text),8]]])+'/'+Format('%f', [brigt[uch[strtoint(Form1.ComboBox8.Text),8]]])+#13#10+
' Бригада 9: '+Format('%.4d',[brig[uch[strtoint(Form1.ComboBox8.Text),9]]])+'/'+Format('%f', [brigt[uch[strtoint(Form1.ComboBox8.Text),9]]])+#13#10+
'Бригада 10: '+Format('%.4d',[brig[uch[strtoint(Form1.ComboBox8.Text),10]]])+'/'+Format('%f', [brigt[uch[strtoint(Form1.ComboBox8.Text),10]]])+#13#10+
'Бригада 11: '+Format('%.4d',[brig[uch[strtoint(Form1.ComboBox8.Text),11]]])+'/'+Format('%f', [brigt[uch[strtoint(Form1.ComboBox8.Text),11]]])+#13#10+
'Бригада 12: '+Format('%.4d',[brig[uch[strtoint(Form1.ComboBox8.Text),12]]])+'/'+Format('%f', [brigt[uch[strtoint(Form1.ComboBox8.Text),12]]])+#13#10+
'Бригада 13: '+Format('%.4d',[brig[uch[strtoint(Form1.ComboBox8.Text),13]]])+'/'+Format('%f', [brigt[uch[strtoint(Form1.ComboBox8.Text),13]]]));


Плохиш   (2009-02-11 11:00:00) [41]


> Ega23 ©   (11.02.09 10:56) [24]
>
>
> > если нужно - могу полный код процедуры показать
>
>
> Надо с этого начинать.

Вот тут ты не прав, о великий удалённый отладчик чужого бредокода, начинать надо было с F7/F8 ;-)


Andrewtitoff   (2009-02-11 10:59:00) [42]


procedure TForm1.Button3Click(Sender: TObject);
begin
if combobox9.Text='' then ShowMessage('ОШИБКА: Введите все данные...') else
OtchetB(2);
end;


Andrewtitoff   (2009-02-11 10:58:00) [43]

2 Palladin


procedure TForm1.OtchetB(s : byte);
var
   nLikeADate:Integer;
   d1 : word;
   m1 : word;
   y1 : word;
   d2 : word;
   m2 : word;
   y2 : word;
   c : integer;
count : integer;
 sms : MYString;
strc : Integer;
 i,n : integer;
   k : integer;
   o : real;
  uh : string;
  um : string;
brig : array[101..813] of integer;
brigt : array[101..813] of real;
uch : array[1..8,1..13]of integer;
const
uch1 : array[1..13]of integer =(101,102,103,104,105,106,107,0,0,0,0,0,0);
uch2 : array[1..13]of integer =(201,202,203,204,205,206,207,208,209,210,211,0,0);
uch6 : array[1..13]of integer =(601,602,603,604,605,606,607,608,609,0,0,0,0);
uch7 : array[1..13]of integer =(701,702,0,704,705,0,0,0,0,0,0,0,0);
uch8 : array[1..13]of integer =(801,802,803,804,805,806,807,808,809,810,811,812,813);
begin
for n := 1 to 13 do
Begin
uch[1,n]:=uch1[n];
uch[2,n]:=uch2[n];
uch[6,n]:=uch6[n];
uch[7,n]:=uch7[n];
uch[8,n]:=uch8[n];
End;

for n := 101 to 813 do
brig[n]:=0;
for n := 101 to 813 do
brigt[n]:=0;

   d1 := 20;
   if s=1 then m1:=12 else m1 := s-1;
   if s=1 then y1:=strtoint(Form1.Combobox9.Text)-1 else y1 := strtoint(Form1.Combobox9.Text);
   d2 := 20;
   m2 := s;
   y2 := strtoint(Form1.Combobox9.Text);

For nLikeADate:=Trunc(EncodeDate(y1,m1,d1)) to Trunc(EncodeDate(y2,m2,d2)) Do
 Begin
 if fileexists(MD+'\Z\'+DateToStr(nLikeADate)+'.lft') then
  Begin

 with TFileStream.create(MD+'\Z\'+DateToStr(nLikeADate)+'.lft', fmShareDenyNone) do
 try
  c:=trunc(Size/671);
 finally
   Free;
 end;

     with TFileStream.create(MD+'\Z\'+DateToStr(nLikeADate)+'.lft',fmOpenRead) do
     try
      read(sms,671);
      for count := 1 to c-1 do
      begin
       read(sms,671);
       if {(sms.PLACE=Form1.ComboBox8.Text)and}(sms.Remont<>'Простой') then
  begin
if (isNumber(sms.BRIGADE))and(sms.BRIGADE<>'') then
begin
k:=strtoint(sms.BRIGADE);
      inc(brig[k]);
end
else k:=0;

      if (copy(sms.Remont,3,1)='.')and(copy(sms.Remont,6,1)='.') then
      brigt[strtoint(sms.BRIGADE)]:=brigt[strtoint(sms.BRIGADE)]+0.5 else
      Begin
      uh:=copy(sms.Prostoy,1,2);
      um:=copy(sms.Prostoy,4,2);

       if uh='' then uh:='0';
       if um='' then um:='0';

     if isNumber(um)and isNumber(uh)then
      Begin
      o:=strtoint(um)/60;
      o:=o+strtoint(uh);
      brigt[k]:=brigt[k]+o;
      End;

      End;
    end;

      end;
     finally
      Free;
     end;
     end;
     end;

ShowMessage(
' Бригада 1: '+Format('%.4d',[brig[uch[strtoint(Form1.ComboBox8.Text),1]]])+'/'+Format('%f', [brigt[uch[strtoint(Form1.ComboBox8.Text),1]]])+#13#10+
' Бригада 2: '+Format('%.4d',[brig[uch[strtoint(Form1.ComboBox8.Text),2]]])+'/'+Format('%f', [brigt[uch[strtoint(Form1.ComboBox8.Text),2]]])+#13#10+
' Бригада 3: '+Format('%.4d',[brig[uch[strtoint(Form1.ComboBox8.Text),3]]])+'/'+Format('%f', [brigt[uch[strtoint(Form1.ComboBox8.Text),3]]])+#13#10+
' Бригада 4: '+Format('%.4d',[brig[uch[strtoint(Form1.ComboBox8.Text),4]]])+'/'+Format('%f', [brigt[uch[strtoint(Form1.ComboBox8.Text),4]]])+#13#10+
' Бригада 5: '+Format('%.4d',[brig[uch[strtoint(Form1.ComboBox8.Text),5]]])+'/'+Format('%f', [brigt[uch[strtoint(Form1.ComboBox8.Text),5]]])+#13#10+
' Бригада 6: '+Format('%.4d',[brig[uch[strtoint(Form1.ComboBox8.Text),6]]])+'/'+Format('%f', [brigt[uch[strtoint(Form1.ComboBox8.Text),6]]])+#13#10+
' Бригада 7: '+Format('%.4d',[brig[uch[strtoint(Form1.ComboBox8.Text),7]]])+'/'+Format('%f', [brigt[uch[strtoint(Form1.ComboBox8.Text),7]]])+#13#10+
' Бригада 8: '+Format('%.4d',[brig[uch[strtoint(Form1.ComboBox8.Text),8]]])+'/'+Format('%f', [brigt[uch[strtoint(Form1.ComboBox8.Text),8]]])+#13#10+
' Бригада 9: '+Format('%.4d',[brig[uch[strtoint(Form1.ComboBox8.Text),9]]])+'/'+Format('%f', [brigt[uch[strtoint(Form1.ComboBox8.Text),9]]])+#13#10+
'Бригада 10: '+Format('%.4d',[brig[uch[strtoint(Form1.ComboBox8.Text),10]]])+'/'+Format('%f', [brigt[uch[strtoint(Form1.ComboBox8.Text),10]]])+#13#10+
'Бригада 11: '+Format('%.4d',[brig[uch[strtoint(Form1.ComboBox8.Text),11]]])+'/'+Format('%f', [brigt[uch[strtoint(Form1.ComboBox8.Text),11]]])+#13#10+
'Бригада 12: '+Format('%.4d',[brig[uch[strtoint(Form1.ComboBox8.Text),12]]])+'/'+Format('%f', [brigt[uch[strtoint(Form1.ComboBox8.Text),12]]])+#13#10+
'Бригада 13: '+Format('%.4d',[brig[uch[strtoint(Form1.ComboBox8.Text),13]]])+'/'+Format('%f', [brigt[uch[strtoint(Form1.ComboBox8.Text),13]]]));
end;


Плохиш   (2009-02-11 10:57:00) [44]


> Andrewtitoff ©   (11.02.09 10:54) [21]

Маленький глупый партизан нафига ты сюда припёрся. Здесь не гестапо, партизанов не пытают, а мочат жестоко...


Ega23   (2009-02-11 10:56:00) [45]


> если нужно - могу полный код процедуры показать


Надо с этого начинать.


aik   (2009-02-11 10:55:00) [46]


> при чем за один месяц почему то не выдает ошибку(ноябрь 2008)


Наверное это счастливый месяц )))


Ega23   (2009-02-11 10:55:00) [47]


> http://www.delphisources.ru/pages/faq/base/access_violation.html


По данной ссылке:


 TMyClass = class (TObject)
 public
   function Foo : string;
 end;

 TForm2 = class(TForm)
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
 end;

var
 Form2: TForm2;

implementation

{$R *.dfm}

{ TMyClass }

function TMyClass.Foo: string;
begin
 Result := 'TMyClass.Foo';
end;

procedure TForm2.Button1Click(Sender: TObject);
var
 obj : TMyClass;
begin
 ShowMessage(obj.Foo);
end;


:)


Andrewtitoff   (2009-02-11 10:54:00) [48]

2 Ega23
bmp:=TBitmap.Create;

2 Palladin
Да она единственная выдает, она находится в процедуре, в процедуре  задается один параметр(месяц), явно указанный (кнопка на каждый месяц)
при чем за один месяц почему то не выдает ошибку(ноябрь 2008), остальные месяцы - одинакова - AV, если нужно - могу полный код процедуры показать


Palladin   (2009-02-11 10:53:00) [49]

представь, да, нужно, и не только мне


Andrewtitoff   (2009-02-11 10:53:00) [50]

2 Ega23
bmp:=TBitmap.Create;

2 Palladin
Да она единственная выдает, она находится в процедуре, в процедуре  задается один параметр(месяц), явно указанный (кнопка на каждый месяц)
при чем за один месяц почему то не выдает ошибку(ноябрь 2008), остальные месяцы - одинакова - AV, если нужно - могу полный код процедуры показать


aik   (2009-02-11 10:51:00) [51]


> AIK ©   (11.02.09 10:45) [15]
> > Ega23 ©   (11.02.09 10:41) [13]


Упс... извеняюсь адресовано на пост:

> Andrewtitoff ©   (11.02.09 10:40) [12]
> 2 Ega23Ну наверное потому что такого файла не существует.
> ...А при чем тут Form1?, у меня же действительно существует.
> ., ето единственная форма которая есть в проекте...


Плохиш   (2009-02-11 10:51:00) [52]


> AIK ©   (11.02.09 10:45) [15]

Ты уверен, что Ega23 твоя ссылка нужна? Может всё-таки переадресуешь её аФФтару?


Плохиш   (2009-02-11 10:49:00) [53]


> Andrewtitoff ©   (11.02.09 10:11)
>
> Здравствуйте!, подскажите пожалуйста что тут не так?, выскакивает
> ошибка

Вообще-то здесь конференция "Начинающим", а не служба удалённой отладки бредонедокода.


AIK   (2009-02-11 10:45:00) [54]


> Ega23 ©   (11.02.09 10:41) [13]


http://www.delphisources.ru/pages/faq/base/access_violation.html


Palladin   (2009-02-11 10:42:00) [55]

у тебя одна одна единственная вот такая комманда выполняется, она единственная на форме, и она и только она выдает ошибку?


Ega23   (2009-02-11 10:41:00) [56]


> Ну наверное потому что такого файла не существует....


Всё понятно. Немедленно бери книжку в руки и читай про объекты, конструкторы, деструкторы и время жизни.


Andrewtitoff   (2009-02-11 10:40:00) [57]

2 Ega23
Ну наверное потому что такого файла не существует....
А при чем тут Form1?, у меня же действительно существует.., ето единственная форма которая есть в проекте...


Sergey13   (2009-02-11 10:37:00) [58]

> [5] Германн ©   (11.02.09 10:19)
> Количество бригад надо либо уменьшить, либо увеличить!

У автора может отдельные программы на разное количество бригад. 8-)


Ega23   (2009-02-11 10:36:00) [59]


> form1 - существует
>
> var
>  Form1: TForm1;


LOL!  

на тебе код:

procedure TForm1.Button1OnClick(Sender : TObject);
var
 bmp : TBitmap;
begin
 bmp.LoadFromFile('D:\test.bmp');
 Image1.Picture.Assign(bmp);
end;



Как ты думаешь, почему на первой же строчке у тебя AV вывалится?


Германн   (2009-02-11 10:35:00) [60]


> при чем так все работает:

Всё страньше и страньше! (с)


Страницы:   1 2 3 4

Наверх

Титульная страница Поиск, карта сайта Написать письмо