Главная страница
    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-1147343353
legran
2006-05-11 14:29
2006.05.28
Перехват сообщений чужому окну D2005


2-1147203397
КИРПИЧ
2006-05-09 23:36
2006.05.28
ПОМОГИТЕ ПОЖАЛСТА


2-1147185339
HBZ
2006-05-09 18:35
2006.05.28
Использование DLL


1-1145334556
Layner
2006-04-18 08:29
2006.05.28
TChart > Axis > Scales > Automatic, но как показать график чуть


4-1141245989
elf123
2006-03-01 23:46
2006.05.28
Эмуляция com устройства





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