Promotic

Methods - właściwość obiektu PmaObject

Opis:
Zwraca obiekt, przy pomocy którego uzyskuje się dostęp do metod projektanta zdefiniowanych w karcie "Metody".
Składnia:
Object Methods
Notatka:
Właściwość przeznaczona tylko do odczytu.
 
Samej właściwości nie można zmieniać (jest "tylko do odczytu"), jednak wywołana metoda może w swoim algorytmie zmieniać cokolwiek.

Metody projektanta w obiekcie PmaPanel:
Właściwość ta działa także w Web panelach. Patrz Przykład2.
Wołanie metod dla Webu jest chronione przy pomocy upoważnienia WebMethods.
Ograniczenia: Wywoływane metody mogą mieć parametry i wartość wyjścia (pResult) tylko:
- prostych typów danych (np. Integer, String, itd.)
- tablica 1-wymiarowa (Array) zdefiniowane np. Dim arr(20)
- tablica 2-wymiarowa (Array) zdefiniowane np. Dim arr(10,20)
- w pozycjach tablicy nie mogą się znajdować następne tablice (Array)

Wołanie tej metody dla Web paneli powinno się ograniczyć do rozsądnych granic, ponieważ każde takie wywołanie powoduje wykonanie komunikacji XML z serwerem! Jeżeli więc na przykład w panelu było 100 Pmg obiektów i w każdym Pmg obiektcie byłaby wywoływana obecna metoda w zdarzeniu onRefresh, wtedy przy każdym odświeżeniu panela zostałoby wykonanych kolejno 100 komunkacji, co mogło by się okazać jako nie do przyjęcia.

Metody projektanta w obiekcie PmaSequencer: Obiekt PmaSequencer jest unikalnym, ponieważ jego zdarzenie onStep zostanie wywołane w głównym lub roboczym wątku ("thread:work;" lub "thread:main;"). Dlatego metody zostały wewnętrznie podwojone oraz zkompilowane jak w wątku głównym tak w wątku roboczym. Jeżeli metoda zostanie wywołana z wątku roboczego, wtedy zostanie wykonana bezpośrednio w nim. W innych przypadkach identycznie jak w przypadku metod innych obiektówzostanie wykonana w wątku głównym.
To umożliwia proste tworzenie funkcji pomocniczych tak, by zdarzenie onStep mogło być bardziej przejżyste. Nawet podczas zmiennego wołania zdarzenia onStep w głównym lub roboczym wątku, zostanie wtedy automatycznie wywołana metoda w tymże wątku.

Metody projektanta w obiekcie PmaRoot:
Metody w obiekcie PmaRoot (globalne metody aplikacji) są wołane przy pomocy właściwości Pm.Methods.
Patrz również:
- Pm.Methods (właściwość)
- PmgObject.Methods (właściwość)
Przykład1:
Przykład dostępu do metod o nazwach użytkownika Init oraz Close (x oraz y są parametrami metody "Init")
JavaScriptVBScriptWybierz oraz skopiuj do schowka

oObject.Methods.Init(x, y);
return oObject.Methods.Close();
Przykład2:
Metody obiektu PmaPanel można wołać również w zdarzeniach Pmg obiektów. Można je wołać nawet jeżeli dany panel jest tworzony dla Webu - w tym przypadku panel-klient woła daną metodę zdalnie przy pomocy komunikacji XML! W taki sposób została by wołana metoda na przykład w zdarzeniu onButtonUp obiektu PmgButton:
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var nVal = pMe.PmPanel.Methods.GetMyValue(x, y);
Następne przykłady:
Patrz: Przykład w opisie karty "Metody".
© MICROSYS, spol. s r.o.