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

Вниз

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;

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


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

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


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

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


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

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


 
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.



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

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

Наверх




Память: 0.47 MB
Время: 0.028 c
1-1079895888
oleg_SYS
2004-03-21 22:04
2004.04.11
Запуск других приложений из моего с параметрами


1-1082917013
AsbAlex
2004-04-25 22:16
2004.04.11
Помагите перевести код с Делфи на СИ или АСМ


14-1081967346
Ломброзо
2004-04-14 22:29
2004.04.11
techno == virus


3-1079446895
Karlson
2004-03-16 17:21
2004.04.11
Работа с юзерами


14-1082163412
Думкин
2004-04-17 04:56
2004.04.11
С днем рождения! 17 апреля