Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.009 c
1-6023
an-na2002
2004-02-19 11:18
2004.03.03
файл кнопка Edit


1-6045
Maxim_________
2004-02-19 01:45
2004.03.03
как получить из функции array of array of.......?


6-6171
NewD
2003-12-26 13:46
2004.03.03
Как переадресовать запрос на др. комп. в др. сети


4-6272
v_v_c_c
2003-12-25 06:27
2004.03.03
Прозрачное Окно


14-6238
ККВ
2004-02-10 13:54
2004.03.03
Microsoft Help WorkShop




   Наверх