by Kazimierz Heczko » Thu 26. May 2016 12:36:32
Witam,
pierwszy przykład nie może zadziałać w WEBpanelu, ponieważ metoda IniFileRead nie działa u klienta. Po zastanowieniu się nad tym, jest to zrozumiałe, ponieważ skrypt w elementach graficznych jest wykonywany po stronie klienta a klient nie ma do dyspozycji owego pliku INI.
Drugi przykład będzie działać w podobny sposób (czyli nie będzie działać w środowisku WEB), jeżeli polecenie jest wykonywane w skrypcie. Powodem jest fakt, że skrypt jest wykonywany po stronie klienta.
Natomiast drugi sposób miałby działać w przypadku, że byłby ustawiony w konfiguratorze koloru obiektu.
Niestety w tym miejscu nie można zastosować makro wyrażenia, i dlatego ustawienie koloru w ten sposób niestety nie zadziała.
Można by to rozwiązać w ten sposób, że w odpowiednim zdarzeniu (najlepiej w zdarzeniu onPanelStartEnd elementu PmiRoot) należy wywołać metodę obiektu PmPanel, w ktorym znajduje się dany element graficzny (ewentualnie globalną metodę aplikacji). Owa metoda byłaby wykonywana już po stronie serwera, gdzie odczyt danych z plików jest już możliwy. Metoda ta powinna zwracać odczytany kolor.
Tu zwracam uwagę na to, że nie jest zalecane, żeby taką metodę wywoływać w większej ilości elementów graficznych, ponieważ każde wywołanie metody powoduje komunikację pomiędzy klientem i serwerem, co może zbytnio obciążać całą aplikację.