mamy cos takiego :
XLS := CreateOleObject('Excel.Application');
XLS := UnAssigned
Ale trzeba dolaczac Variants, zeby miec to unassigned. Nie ma czegos z ComObj do zwolnienia tego obiektu, lecz trzeba sie posilkowac obcym Unitem ?
mamy cos takiego :
XLS := CreateOleObject('Excel.Application');
XLS := UnAssigned
Ale trzeba dolaczac Variants, zeby miec to unassigned. Nie ma czegos z ComObj do zwolnienia tego obiektu, lecz trzeba sie posilkowac obcym Unitem ?
Możesz chyba też wywołać metodę obiektu (bodajże Quit). A co do zwalniania, to chyba możesz podstawić null.
Na czym polega problem żeby ten drugi unit dołączyć ? Skoro korzystasz z OleVariant to co w tym dziwnego żeby dołączać Variants.pas ? ComObj to narzędzia do automatyzacji. Jak nie chcesz mieć Variants to użyj wczesnego wiązania a nie późnego i już.
b
zadne metody quit. Nie kazdy kompoent musi wspierac taka metode interface'owa.
Po pierwsze jesli obiekt jest zadeklarowany lokalnie to nic nie musisz robic. Po wyjsciu z funkcji/procedury licznik referncji spada do zera.
Jesli globalnie to zawsze przez UNASSIGNED