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

Вниз

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

 
Fenix ©   (2006-03-17 15:43) [0]

Доброе время суток.
У меня начала каждый раз при закрытии приложения выскакивать ошибка "invalid pointer operation". Но не выделяеться строка. Из-за чего она может выскакивать? Я думаю, что это из-за динамически создаваемых компонентов. Но точно неуверен.
Кто знает как ее исправить прошу написать.


 
Stakan ©   (2006-03-17 15:45) [1]

А поподробнее можно?
DLL часом не используются?


 
Desdechado ©   (2006-03-17 15:46) [2]

не обращаться по адресам, указывающим в никуда (после освобождения памяти)


 
Fenix ©   (2006-03-17 15:47) [3]


> Stakan ©

ДЛЛ нету.


> не обращаться по адресам, указывающим в никуда (после освобождения
> памяти)

Щас проверю. спс за подсказку.


 
Fenix ©   (2006-03-17 15:50) [4]

коментирую все в FormClose, но всеравно выскакивает эта ошибка. Она выскакивает только после закрытия приложения.


 
tesseract ©   (2006-03-17 15:52) [5]

Как правило вылетает при неправильной чистке указателей, или PChar.


> коментирую все в FormClose,


Надо не в FromClose зав формой чистить а в FromDestroy;
FormClose  не убивает форму.


 
Fenix ©   (2006-03-17 15:56) [6]


> tesseract ©

у меня используеться NameGroup:array [0..20] of char;
Может из за него ошибка? Просто мне что бы записать структуру в файл, надо в Char перевести, т.к. со String пишет ошибку...


 
Stakan ©   (2006-03-17 15:59) [7]

Fenix ©   (17.03.06 15:50) [4]
То, что ошибка вылетает после закрытия ещё не значит, что её причина где - то в конце программы.
Используются ли строки, дин. массивы, PChar?


 
Fenix ©   (2006-03-17 16:04) [8]


> строки, дин. массивы

да использовались. но по окончанию программы я не освобождал память: SetLength(a,0);. Т.к. до этого и без освобождения норм рабтало.


 
Сергей М. ©   (2006-03-17 16:18) [9]


> Fenix ©   (17.03.06 15:47) [3]
> ДЛЛ нету.


Ой врешь .. Где-тот в коде твоего шедевра оное явно или неявно используется ..


 
Fenix ©   (2006-03-17 17:02) [10]

Нашел где ошибка
Setlength(Move_item,contacts.Count-1);
for i:=0 to contacts.Count-1 do begin
Move_item[i]:=Tmenuitem.Create(User_move);
Move_item[i].Caption:=contacts[i];
User_move.Add(Move_item[i]);
end;

Почему может быть ошибка? Вроде при уничтожении User_move и все подменю автоматически должны очиститься...


 
palva ©   (2006-03-17 17:26) [11]

Если длина динамического массива contacts.Count-1
то последний его индекс (считаю с нуля) contacts.Count-2

Но это мысли вслух. На самом деле "invalid pointer operation" это когда к пойнтеру прибавляют число. Или я опять ошибаюсь?


 
Stakan ©   (2006-03-17 17:31) [12]

palva ©   (17.03.06 17:26) [11]
Правильно сказал, выход за границу массива.

> На самом деле "invalid pointer operation" это когда к
> пойнтеру прибавляют число.

Вот это не совсем корректно


 
Fenix ©   (2006-03-17 17:38) [13]


> то последний его индекс (считаю с нуля) contacts.Count-2

СПС теперь все работает хорошо.


 
Fenix ©   (2006-03-17 17:38) [14]


> то последний его индекс (считаю с нуля) contacts.Count-2

СПС теперь все работает хорошо.



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

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

Наверх




Память: 0.47 MB
Время: 0.03 c
15-1141772366
**Сергей**
2006-03-08 01:59
2006.04.02
Радиокомпоненты


2-1142504140
KyRo
2006-03-16 13:15
2006.04.02
Занят файл или нет ?


15-1141957486
grisme
2006-03-10 05:24
2006.04.02
Математика


15-1141676647
ANB
2006-03-06 23:24
2006.04.02
Наша армия и чего с ней делать


11-1122315580
AlexLumpov
2005-07-25 22:19
2006.04.02
OnClose в модальной форме на KOL





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