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

Вниз

Access vialation IDE при завершении виполнения разрабатываемой   Найти похожие ветки 

 
JJ ©   (2006-04-14 12:53) [0]

Здравствуйте! На D6 часто возникает проблемма Access violation.
Например, для пустой формы пишу в OnCreate:

procedure Form1.FormCreate(Sender: TObject);
var i: integer;
begin
   for i:=0 to 10 do begin
         if i=2 then
   end;
   ShowMessage(IntToStr(i));
end;

Запускаю из IDE программу, она отрабатывает, закрываю ее и возникает Access violation... IDE висит с запущенной сессией Debug`а. CTRL+F2 ничего не дает. После появляется ошибка "Internal COM Error - 631". Из этого состояния можно выйти только перезапуском IDE.
Как избавиться от этого глюка? Если патч?


 
Desdechado ©   (2006-04-14 13:11) [1]

1. приведенный код даже не скомпилируется
2. ошибка "...COM..." говорит о подключенных компонентах, а не пустой форме


 
JJ ©   (2006-04-14 14:07) [2]

Почему не скомпилируется? Очень даже компилируется и запускается. Подключены только стандартные модули, которые ставятся по умолчанию для нового проекта. Тоесть делал так: File->New Application. На новой форме двойным щелчком перехожу в OnCreate, набираю приведенный код, запускаю получившееся приложение, на окне сообщения кликаю Ок, закрываю приложение и получаю ошибку Access violation.


 
balepa ©   (2006-04-14 14:30) [3]


> JJ ©   (14.04.06 12:53)  
> Как избавиться от этого глюка? Если патч?


Delphi 7 :)


> Desdechado ©   (14.04.06 13:11) [1]
> 2. ошибка "...COM..." говорит о подключенных компонентах, а не пустой
> форме

Может это ошибка в IDE


 
TYB   (2006-04-14 14:48) [4]

А если так
procedure TForm1.FormCreate(Sender: TObject);
var
i: integer;
begin
  for i:=0 to 10 do begin
        if i=2 then
 
  ShowMessage(IntToStr(i));
   end;

end;


 
balepa ©   (2006-04-14 14:56) [5]


> TYB   (14.04.06 14:48) [4]

Код JJ ©  (14.04.06 12:53)  тоже работает если он хочет что бы ему вывелось 11 хотя у тебя правильнее будет, но об этом судить автору ветки


> JJ ©  


Смотри Warning
FOR-Loop variable "i" may be undefined after loop


 
JJ ©   (2006-04-14 15:19) [6]

Такой код получился случайно :) и выводить он должен 11. Если поставить:
if i=2 then break
то такой ошибки не возникает.
Но тем не менее, такой глюк переодически появляется в разных проектах и портит жизнь. Бывали ситуации, когда ставишь точку останова, F9 до точки останова и F9 после - все нормально, а если не ставить, появляется эта ошибка.


 
Desdechado ©   (2006-04-14 16:00) [7]

> выводить он должен 11
Не должен и не будет. Ибо после завершения цикла переменная хранит неопределенное значение (последнее достигнутое, граничное, заграничное), причем неопределенность усугубляется тем, что при разных опциях компилятора и разных его версиях оно разное.


 
JJ ©   (2006-04-14 17:00) [8]

А такое явление типичное, или только у меня этот глюк? Может дистрибутив такой?


 
Desdechado ©   (2006-04-14 18:38) [9]

это явление типичное, если неправильно оперировать с памятью, не зная основ


 
JJ ©   (2006-04-14 18:43) [10]

А в том куске какие проблемы?



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

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

Наверх




Память: 0.49 MB
Время: 0.04 c
2-1147254107
alkin
2006-05-10 13:41
2006.05.28
Как отсортировать данные SQL выборки?


4-1141514317
Piter
2006-03-05 02:18
2006.05.28
Как добавить иконку во всплывающее меню?


15-1146732390
Юрий Зотов
2006-05-04 12:46
2006.05.28
Ищу работу.


2-1146825295
KygECHuK
2006-05-05 14:34
2006.05.28
Как удалить ссылку из RTF документа ?


2-1147166724
seleman
2006-05-09 13:25
2006.05.28
xpmanifest