Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.04.01;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.53 MB
Время: 0.043 c
15-1173276490
Sam Stone
2007-03-07 17:08
2007.04.01
Miranda 0.6.7


2-1173102470
Чайник
2007-03-05 16:47
2007.04.01
Максимальный размер статического массива


3-1168414258
Шмель
2007-01-10 10:30
2007.04.01
UNION query. SQL


2-1173685139
*Гость*
2007-03-12 10:38
2007.04.01
Можно как-то фрагмент сообщения выделить жирным?


1-1170616532
atruhin
2007-02-04 22:15
2007.04.01
Как перечислить зарегистрированные классы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский