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

Вниз

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

Наверх




Память: 0.46 MB
Время: 0.01 c
15-1146415901
Хозяин
2006-04-30 20:51
2006.05.28
Джорж прикололся


2-1147606601
Mr tray
2006-05-14 15:36
2006.05.28
dll с хуком клавы - печатается 2 символа


1-1145263745
Экспериментатор
2006-04-17 12:49
2006.05.28
Что не так? Выдает Access Violation на 0000 0000


15-1146758477
Empleado
2006-05-04 20:01
2006.05.28
Еврейская музыка


15-1146827391
Slava812
2006-05-05 15:09
2006.05.28
Для любителей С





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский