Главная страница
    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.011 c
2-1147111725
Nicky
2006-05-08 22:08
2006.05.28
Ошибка при проссмотре отчета


2-1147290586
Vitalik__
2006-05-10 23:49
2006.05.28
Pchar


2-1147327268
VitalZ
2006-05-11 10:01
2006.05.28
Невидимая папка


3-1144146989
Вано
2006-04-04 14:36
2006.05.28
Проблема коннекта!!!


2-1147531542
AlexanderMS
2006-05-13 18:45
2006.05.28
Проблема. Программа "не успевает" вывести Hint в StatusBar.





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