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 :
-
Jak wyciągnąć dostępne metody dla tej zmiennej (coś jak GetPropList) ?
-
Jak wywołać jakąś metodę ort! jej nazwę, lub przypisać wartość do ort! właściwości, znając nazwę właściwości ?