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

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

Ошибка [D7, WinXP]


Страницы:   1 2

wahnsinng ©   (2007-03-06 15:06:00) 

Здравствуйте уважаемые мастера,
не подскажите что за ошибка выскакивает
Project Project1.exe raised exception class EAccessViolation with message 'Access violation at address 00439D08 in module Project of adress 000000050'

var
    TypeClass : TControlClass;
    New   : TControl;
    i,J : integer;
    Count_was, num,kol: integer;
    s1 : string;
    Tags: Integer;
    K : Integer;
    Li : Integer;
   begin
Count_Was := 1;

num := 0;
kol := 0;
Li  := 0;
K :=strToInt(copy(s,kol, PosEx('|',S,num)-1));

 if   PL.ComponentCount <> 0
  then
   while Pl.ControlCount > 0  do
       Pl.Components[0].Destroy;

      TypeClass:=TspeedButton;

for I :=1 to K + 3 do
  begin
num :=PosEx('|',S,num)+1;
kol  := num;
Li  := ((PosEx('|',S,num)-1) - kol) +1;
S1:=copy(S,kol, li);

case Count_Was of
1:  image1.Picture.LoadFromFile(ExtractFilePath(Paramstr(0))+'datay\'+S1);
2:  imageTitle1.Caption := S1;  
3:  FrageR := StrToInt(S1);
end;
   
if Count_Was > 3 then

begin  

    New:=TypeClass.Create(PL);

    TspeedButton(New).Left := 15;
  TspeedButton(New).Top := (25 * (Count_Was-3) );
  if FrageR = (Count_Was-3) Then
  TspeedButton(New).Tag := FrageR
     else
 TspeedButton(New).Tag := 0;
TspeedButton(New).Cursor :=   crHandPoint;
 TspeedButton(New).OnClick := SpeedButton0Click;
 TspeedButton(New).Width := 150;

TspeedButton(New).Caption :=s1;

<!Ошибка здесь!>

 New.Parent:=PL;

end;

  Inc (Count_Was);
end;

  end;


wahnsinng   (2007-03-06 16:10:00) [21]


> Сергей

Я ничего не утверждаю, потом как, говорил выше незнаю что за ошибка, делаю предположение.


Elen   (2007-03-06 16:08:00) [22]


> Чтой-то вдруг ?)

Да процедурка такая уж есть. Лично я стараюсь не называть переменные и иже с ними именами которые уже чему-то приписаны.


Сергей М.   (2007-03-06 16:05:00) [23]


> некошерное


Чтой-то вдруг ?)


Elen   (2007-03-06 16:04:00) [24]


> При пошаговой отладке, он не разу не выдал ошибку, при нормальном
> запуске, начинает выскакивать ошибка описанная в начале.

Это ты весь полностью код привел или нет?


Elen   (2007-03-06 16:02:00) [25]


>  New   : TControl;

Ой какое имя некошерное!.


Сергей М.   (2007-03-06 16:00:00) [26]

т.е ты утверждаешь, что код вида

TspeedButton(New).Caption :=s1;

ShowMessage('Перед обращением к св-ву Parent');//  <!Ошибка здесь!>

New.Parent:=PL;

ShowMessage('После обращением к св-ву Parent');

?

выводит на экран не иначе как ' Передобращением к св-ву Parent' ?


Сергей М.   (2007-03-06 15:52:00) [27]


> Отследил ошибку


Эт каким же макаром ? ShowMessage() что ли расставлял ?


wahnsinng   (2007-03-06 15:52:00) [28]

Да


wahnsinng   (2007-03-06 15:27:00) [29]


> Ну и с чего ты взял, что ошибка возникает именно в упомянутом
> тобой месте ?

Отследил ошибку


Плохиш   (2007-03-06 15:27:00) [30]


> wahnsinng ©   (06.03.07 15:22) [7]
> Что вообще означает эта ошибка.

Попытка залезть своими кривыми ручёнками в закрытую/нераспределённую область памяти.


Сергей М.   (2007-03-06 15:26:00) [31]


> при нормальном запуске, начинает выскакивать ошибка описанная
> в начале


Ну и с чего ты взял, что ошибка возникает именно в упомянутом тобой месте ?


> Что вообще означает эта ошибка


Ошибка нарушения прав доступа к странице вирт.памяти по такому-то адресу.


wahnsinng   (2007-03-06 15:22:00) [32]

Что вообще означает эта ошибка.


wahnsinng   (2007-03-06 15:21:00) [33]

При пошаговой отладке, он не разу не выдал ошибку, при нормальном запуске, начинает выскакивать ошибка описанная в начале.


Сергей М.   (2007-03-06 15:13:00) [34]

Что значит "перед" ?

У тебя есть отладчик, он позволяет пошаговоисполнять операторы программы ..


Плохиш   (2007-03-06 15:12:00) [35]


> wahnsinng ©   (06.03.07 15:06)  

Ты серьёзно думаешь, что здесь филиал отладчика?


wahnsinng   (2007-03-06 15:12:00) [36]

причем через раз, то работает, то ошибка


wahnsinng   (2007-03-06 15:09:00) [37]

Программа останавливается перед New.Parent:=PL;


Сергей М.   (2007-03-06 15:08:00) [38]


> <!Ошибка здесь!>


На пустой строке ?)


Страницы:   1 2

Наверх

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