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

Вниз

Free   Найти похожие ветки 

 
Torin   (2004-04-19 19:57) [0]

Почму вылетает с ошибкой "Invalid pointer operation" Free и Destroy объектов созданых внутри текущей процедуры? например:

function XXX(XXX : XXX...);
var
Ic : TIcon;
begin
Ic := TIcon.Create;
..... //Действия с иконкой
Ic.Free; // ??? "Invalid pointer operation" ???
end;

Если же объект глобальный то всё работает.


 
Torin   (2004-04-19 19:57) [0]

Почму вылетает с ошибкой "Invalid pointer operation" Free и Destroy объектов созданых внутри текущей процедуры? например:

function XXX(XXX : XXX...);
var
Ic : TIcon;
begin
Ic := TIcon.Create;
..... //Действия с иконкой
Ic.Free; // ??? "Invalid pointer operation" ???
end;

Если же объект глобальный то всё работает.


 
Mim1   (2004-04-19 19:59) [1]

Приведи полный код


 
Mim1   (2004-04-19 19:59) [1]

Приведи полный код


 
Anatoly Podgoretsky ©   (2004-04-19 20:08) [2]

Ic к моменту Free у тебя уже испорчен.


 
Anatoly Podgoretsky ©   (2004-04-19 20:08) [2]

Ic к моменту Free у тебя уже испорчен.


 
pantel ©   (2004-04-19 20:19) [3]

Нужен полный код, да. Может, там Ic передаётся куда-то как var parameter и та функция его очищает? Или есть другая локальная переменная, которая перекрывается с Ic (хотя этого компилятор не допустит...)


 
pantel ©   (2004-04-19 20:19) [3]

Нужен полный код, да. Может, там Ic передаётся куда-то как var parameter и та функция его очищает? Или есть другая локальная переменная, которая перекрывается с Ic (хотя этого компилятор не допустит...)


 
Torin   (2004-04-19 20:40) [4]

Разобрался я в чём загвоздка там ещё if был, т.е. иконка создавалась не всегда, а поытка её уничтожить предпринималась постоянно.


 
Torin   (2004-04-19 20:40) [4]

Разобрался я в чём загвоздка там ещё if был, т.е. иконка создавалась не всегда, а поытка её уничтожить предпринималась постоянно.


 
Юрий Зотов ©   (2004-04-19 21:43) [5]

Еще не забыть try-finally - и будет полный цимус. Кстати, рассмотрите возможность такой конструкции:

with TIcon.Create do
try
 ... //Действия с иконкой
finally
 Free
end;

Это позволит отказаться от переменной Ic.


 
Юрий Зотов ©   (2004-04-19 21:43) [5]

Еще не забыть try-finally - и будет полный цимус. Кстати, рассмотрите возможность такой конструкции:

with TIcon.Create do
try
 ... //Действия с иконкой
finally
 Free
end;

Это позволит отказаться от переменной Ic.



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

Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.036 c
1-1082871507
KirillSKTS
2004-04-25 09:38
2004.05.09
вопрос про self


14-1081956844
}|{yk
2004-04-14 19:34
2004.05.09
Первичный ключ - ошибка создания


14-1082143031
juiceman
2004-04-16 23:17
2004.05.09
Я так устал...


14-1081925575
Мараканец
2004-04-14 10:52
2004.05.09
Блокировка данных....


14-1082377810
panov
2004-04-19 16:30
2004.05.09
Индексирование текста.





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