Mam 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ę znająć jej nazwę, lub przypisać wartość do jakiejść właściwości, znając nazwę właściwości ?
Właściwie to zapytam od razu odnośnie prawnego aspektu techniki OLE. Jak widać aby przypisać do zmiennej V obiekt Excela nie muszę tego robić z poziomu kodu. Mogę przeciez zrobić
V := CreateOLEObject(Edit1.Text);
Moje pytanie odnoście listy metod i wywoływania metod, wywodzi się właśnie z tąd - 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 zaierające te metody. Użytkowik wczytał by sobie tylko taki plik i miał zaimplementowaną obsługę Excela. No a programista przeciez moze chyba rozpowszechniac zwykle pliki *.ini ?
Mam nadzieje że mnie ktoś zrozumie, a jeszcze większą mam nadzieje że ktoś udzieli mi wyczerpujących odpowiedzi.
Jeśli komuś pomogą szczegóły to chodzi mi o :
Temat : "Prawa autorskie"
Grupa : http://discussion.bentley.com/cgi-bin/dnewsweb.exe?cmd=xover&group=bentley.general.pl&utag=