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.