Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

iFIX, visicon i wątki w tle

Lacrim 07 Kwi 2012 16:20 707 1
  • #1 07 Kwi 2012 16:20
    Lacrim
    Poziom 8  

    Cześć
    mam dosyć czasochłonne operacje na obiektach vxData, które powodują, że po kliknięciu przycisku aplikacja zawiesza mi się na kawał czasu. Mam koncepcje jak to rozwiązać, ale nie wiem czy to w ogóle da się zrobić:
    W schedulerze umieszczam zadanie które uruchamiałoby się zawsze np. o 1 godzinie w nocy jako wątek w tle (mam nadzieję, że to nie przywiesi aplikacji) i wpisuje wyniki do bazy danych które bym mógł potem przeczytać. Tu pojawia się problem:
    a) żeby odwołać się do vxData musi on być na jakimś rysunku - nie potrafię odwołać się do rysunku z zadania z schedulera
    b) mogę utworzyć obiekt vxData w VBA - da się to w ogóle zrobić?

    Może wiecie jak któreś z tych opcji wyżej wykonać?

    Z góry wielkie dzięki

    0 1
  • #2 10 Kwi 2012 09:31
    tweety1980
    Poziom 9  

    Większość aplikacji jest robiona w taki sposób, że zawsze jest otwarty jakiś rysunek (np. rysunek menu). Możesz zamieścić obiekt vxData na tym właśnie rysunku. Następnie przypisz do tego rysunku zdarzenie, które będzie odpalane co określany interwał.

    Ja w ten sposób wykonywałem czyszczenie bazy ze starych danych (mało danych).

    Możesz również odwołać się z poziomu harmonogramów, ale wtedy musisz wyskrobać kod w VBA z wykorzystaniem ADO, który będzie usuwał dane.

    Skoro operacja jest na tyle zaawansowana, że przywiesza aplikacje to jakkolwiek odwołasz się do rysunku to przywiesisz ten rysunek na czas wykonywania skryptu. Wykorzystanie ADO i harmonogramowania pozwoli na modyfikacje na bazie w drugim wątku. Rysunki będą działać prawidłowo.

    0
  Szukaj w 5mln produktów