Текущий архив: 2004.03.03;
Скачать: CL | DM;
Вниз
Уничтожить OleVariant Найти похожие ветки
← →
qwerty2 (2004-01-23 13:34) [0]С помощью CreateOleObject создаю некий объект автоматизации. После того как он больше не нужен, пытаюсь его уничтожить, присваивая ему nil на что компилятор говорит - несовместимость типов, Pointer и OleVariant. Странно ведь я с помощью CreateOleObject все равно получаю указатель на объект - CreateOleObject выполняет CoCreateInstance и возвращает ссылку на IDispatch. Как же этот объект тогда можно уничтожить? И почему этот OleVariant не соместим ни с Pointer ни с IDispatch?
← →
Romkin (2004-01-23 13:38) [1]unassigned вместо nil
← →
Курдль (2004-01-23 13:39) [2]Ну Вы же создаете объект определенного типа!
Объекты имеют обыкновение умирать от своего метода Free.
И если даже вы создали указатель, то присвоив ему nil от него не избаветесь - указатель так и останется жить в программе.
← →
Гаврила (2004-02-20 15:32) [3]>>Курдль © (23.01.04 13:39) [2]
Не путайте человека, в данном случае речь идет не об объектах Pascal, а о COM - объектах, никакого Free там нет.
Прав Ромкин
← →
olookin (2004-02-20 16:42) [4]Вызвать метод деструкции для указанного COM-объекта. В Excel таковым является Exit, т.е. если Obj: Variant; то Obj.Quit. А затем VarClear(Obj);
Страницы: 1 вся ветка
Текущий архив: 2004.03.03;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.006 c