Witam

Mam pytanie odnośnie prawnego aspektu techniki OLE. Jak widać aby przypisać do zmiennej V obiekt Excela nie muszę tego robić z poziomu kodu. Mogę ort! zrobić

V := CreateOLEObject(Edit1.Text);

Moje pytanie odnoście listy metod i wywoływania metod (poniżej), wywodzi się właśnie <ort>z tąd</ort> - czy muszę mieć licencje do programu (tutaj Excel) jeśli korzystam z techniki OLE ? Jeśli istniała by pewna procedura:

WywołajMetodę(V : OLEVariant; NazwaMetody : String;);

która wywołanie postaci

WywołajMetodę(V,'Quit');

zamieniała by na

V.Quit;

to można by zostawić na formie puste kontrolki TEdit, i niech użytkownik sam sobie powpisuje Excel.Application , Quit i inne rzeczy, i używa Excela, jeśli oczywiście ma licencje. Idać dalej można by rozpowszechniać, powiedzmy pliki *.ini ort! te metody. ort! wczytał by sobie tylko taki plik i miał zaimplementowaną obsługę Excela. No a programista <ort>przeciez moze</ort> chyba ort! zwykle pliki *.ini ?

Mam nadzieje że mnie ktoś zrozumie, a jeszcze większą mam nadzieje że ktoś udzieli mi wyczerpujących odpowiedzi. Na forum programu o który mi chodzi usłyszałem odpowiedź że jeśli ktoś ma zaimplementowaną obsługę ort! programu u siebie, to znaczy że musiał to testować - musi więc mieć licencje.

No i pytanie odnośnie wyciągania metod z obiektów. Wiem że istnieje coś takiego jak RTTI. Chodzi mi o to że mam zmienną typu OLEVariant, i podstawiam sobie do niej :

V := CreateOLEObject('Excel.Application');

no i teraz mogę się bawić excelem. Pytania mam właściwie dwa :

  1. Jak wyciągnąć dostępne metody dla tej zmiennej (coś jak GetPropList) ?

  2. Jak wywołać jakąś metodę ort! jej nazwę, lub przypisać wartość do ort! właściwości, znając nazwę właściwości ?