Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.01;
Скачать: CL | DM;

Вниз

Ошибка   Найти похожие ветки 

 
wahnsinng ©   (2007-03-06 15:06) [0]

Здравствуйте уважаемые мастера,
не подскажите что за ошибка выскакивает
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;


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


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


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


 
wahnsinng ©   (2007-03-06 15:09) [2]

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


 
wahnsinng ©   (2007-03-06 15:12) [3]

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


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


> wahnsinng ©   (06.03.07 15:06)  

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


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

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

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


 
wahnsinng ©   (2007-03-06 15:21) [6]

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


 
wahnsinng ©   (2007-03-06 15:22) [7]

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


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


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


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


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


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


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


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

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


 
wahnsinng ©   (2007-03-06 15:27) [10]


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

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


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


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


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


 
wahnsinng ©   (2007-03-06 15:52) [12]

Да


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

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

TspeedButton(New).Caption :=s1;

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

New.Parent:=PL;

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

?

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


 
Elen ©   (2007-03-06 16:02) [14]


>  New   : TControl;

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


 
Elen ©   (2007-03-06 16:04) [15]


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

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


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


> некошерное


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


 
Elen ©   (2007-03-06 16:08) [17]


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

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


 
wahnsinng ©   (2007-03-06 16:10) [18]


> Сергей

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


 
wahnsinng ©   (2007-03-06 16:13) [19]


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

Нет, но там нигде нет ошибок, или предпосылок на них.


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


> Elen ©   (06.03.07 16:08) [17]


Боже, какой бред ты порой несешь)


> wahnsinng ©   (06.03.07 16:10) [18]


> Я ничего не утверждаю


Вот сначала поимей факты, а потом приходи)
Иначе разговор сводится к "что-то где-то там пукнуло, не знаю где, но мне кажется, что пукнуло"


 
wahnsinng ©   (2007-03-06 16:18) [21]


> Сергей М.

Кто ж  тебя просит отвечать, раз ты не можешь.


 
Сергей М. ©   (2007-03-06 16:24) [22]


> wahnsinng ©   (06.03.07 16:18) [21]
>
>


> раз ты не можешь.
>


Нет, братец-кролик, "не можешь" именно ты)

И пока ты вылечишь свою "импотенцию" в части элементарного пользования встроенным отладчиком, программистское "бесплодие" тебе гарантировано)


 
Elen ©   (2007-03-06 16:28) [23]


> Боже, какой бред ты порой несешь)

Это почему же?


 
wahnsinng ©   (2007-03-06 16:30) [24]

Удалено модератором


 
Игорь Шевченко ©   (2007-03-06 16:32) [25]


> Это почему же?


Кроме тебя на этот вопрос никто не сможет ответить


 
Elen ©   (2007-03-06 16:33) [26]


> wahnsinng ©   (06.03.07 16:30) [24]

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


 
Elen ©   (2007-03-06 16:34) [27]


> Кроме тебя на этот вопрос никто не сможет ответить

Жалко! Вот поучить меня некому... И вы не хотите... :-/


 
Игорь Шевченко ©   (2007-03-06 16:42) [28]

Elen ©   (06.03.07 16:34) [27]

Я могу совет дать - почитать книгу по Delphi. Вдумчиво почитать. Хорошую книгу. Например, Тейксеру с Пачекой.
Или заплатить за обучение любому желающему это обучение провести.


 
Elen ©   (2007-03-06 16:44) [29]


> Игорь Шевченко ©   (06.03.07 16:42) [28]

Спасибо, как-нибудь на досуге...


 
Сергей М. ©   (2007-03-06 16:49) [30]


> Elen ©   (06.03.07 16:44) [29]


> как-нибудь на досуге


заодно как-нибудь на досуге вдумайся в свое нынешнее утверждение насчет "некошерности"


 
Elen ©   (2007-03-06 17:15) [31]


> Сергей М. ©   (06.03.07 16:49) [30]

Обязательно.


 
ЮЮ ©   (2007-03-07 06:51) [32]

А заголовок свой процецуры привести и  способ её вызова?


 
Loginov Dmitry ©   (2007-03-07 07:39) [33]

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


Господи, ну что ж это за трава-то?


 
wahnsinng ©   (2007-03-07 18:09) [34]


> Loginov Dmitry

Да я уже сам нашел.


 
Amoeba ©   (2007-03-07 18:49) [35]


> wahnsinng ©   (07.03.07 18:09) [34]
>
>
> > Loginov Dmitry
>
> Да я уже сам нашел.
>

Это самое, или еще что-то другое?


 
Belorus ©   (2007-03-07 18:52) [36]

Можете говорить что хотите, но я отчасти солидарен с Elen. Например свои процедуры я никогда не называю именами других существующих процедур, и уж тем более если набор аргументов совпадает...
Это привычка которой уже много лет. Видимо когда то помогало не путататься в "пространствах имен", и избегать глупых ошибок.


 
Kedge ©   (2007-03-07 19:35) [37]

Полностью согласен с Belorus и Elen.
Особенно большое удовольствие доставляет разбираться в чужих исходниках, ничего не понимая
и, натолкнувшись на функцию автора SetLength, произносить А-а-а-а-а !


 
wahnsinng ©   (2007-03-09 08:39) [38]

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



Страницы: 1 вся ветка

Текущий архив: 2007.04.01;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.067 c
9-1143529208
Gleb
2006-03-28 11:00
2007.04.01
Нужно написать функцию которую при нажатии на кнопку выполняет


15-1173071399
leonidus
2007-03-05 08:09
2007.04.01
Подскажите удобную программу для создания хелпов


2-1173852902
Alex_C
2007-03-14 09:15
2007.04.01
Общие функции - как лучше


15-1173086533
MsGuns
2007-03-05 12:22
2007.04.01
Украинский футбол глазами европейцев


1-1170835673
Krants
2007-02-07 11:07
2007.04.01
TTreeView, убрать выделение