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

Вниз

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

Наверх





Память: 0.47 MB
Время: 0.037 c
15-1142004365
ZeFiR
2006-03-10 18:26
2006.04.02
eXtreme Notepad


1-1140819380
Dimaxx
2006-02-25 01:16
2006.04.02
Высота элемента в ListView


11-1123526991
mixis
2005-08-08 22:49
2006.04.02
Борюсь с подменю - заменить и удалить


2-1142577578
worldmen
2006-03-17 09:39
2006.04.02
Прога D5 не печатает под XP


11-1123514368
Seeket
2005-08-08 19:19
2006.04.02
Edit и OnKeyDown





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