Seite 1 von 1

EventSchikane...

Verfasst: Di, 05. Jan 2021 18:06
von GrillenHirni
Ihr Lieben

Ich bins schon wieder und wünsche Euch und Euren Familien ein gutes neues Jahr...

Hoffentlich hat es schon mal gut angefangen...?

Meinerseits bin ich gerade wegen meiner Katze und dem folgenden Problem am verzweifeln:

Meine EventSchlaufe (-Schleife...?)

nEvent:=(@msgPar1,@msgPar2,@oXbp,nTimeOut)

wird zwischen einundvierzig und fünfzig Mal durchlaufen, dann bewertet sie schikanöserweise

oXbp mit NIL

NIL kann ich natürlich nachher - zum Beispiel für Abfragen wie oXbp:isDerivedFrom("XbpPushButton")
nicht gebrauchen...?

Hat denn jemand schon mal ähnliche Erfahrungen gemacht oder eine Idee, wo ich da ansetzen könnte...?

Mit herzlichen Grüssen
Grilli

Re: EventSchikane...

Verfasst: Di, 05. Jan 2021 18:24
von Tom
Kann passieren, wenn es einfach kein auslösendes/zuzuordnendes XbPart gibt. Ich würde einfach mit ValType(<oXbp>)=='O' oder <oXbp>==NIL abfragen, ob das Objekt als Parameter kommt, und wenn nicht, dann einfach die Schlaufe (Schleife?) ohne Aktion verlassen.

Re: EventSchikane...

Verfasst: Di, 05. Jan 2021 18:29
von GrillenHirni
Hallo Tom

Danke für den Tipp - so einfach kann eine Lösung sein...?

Ich war ziemlich irritiert, da ich mir das noch nie passiert ist und
ich anscheinend vor lauter Bäumen den Wald nicht mehr sah...?

Mit bestem Dank und mit herzlichen Grüssen
Grilli

Re: EventSchikane...

Verfasst: Mi, 06. Jan 2021 18:50
von brandelh
Du hast hier den 4. Parameter angegeben:

nEvent:=(@msgPar1,@msgPar2,@oXbp,nTimeOut)

nTimeOut wenn die Zeit abgelaufen ist, wird NIL zurückgegeben, da offensichtlich nix passiert ist.
Ohne diesen Parameter (nutzt man meist so) wartet die Funktion, bis ein Event eingetroffen ist.

Re: EventSchikane...

Verfasst: Mo, 11. Jan 2021 14:59
von GrillenHirni
Guten Tag Hubert

Danke für den Tipp!

Es hat mir inzwischen auch gedämmert - so ist es dann eigentlich noch
logisch und ich konnte mich wieder mit der EventSchlaufe (-Schleife...?)
versöhnen...?

Jedenfalls danke und herzliche Grüsse
Grilli

Re: EventSchikane...

Verfasst: Do, 04. Feb 2021 5:42
von AUGE_OHR
hi,

wenn du den 4st Parameter nTimeOut benutzt wird nach "ablauf" der Zeit der xbe_None Event gesendet

Code: Alles auswählen

   DO WHILE .NOT. lExit
      nEvent := AppEvent( @mp1, @mp2, @oXbp, 60000 )        // 60000=600Sec 0=unendlich
      DO CASE
         CASE nEvent = xbe_None                             // timeout
            EXIT                                            // raus


         OTHERWISE
            oXbp:handleEvent( nEvent, mp1, mp2 )
      ENDCASE
   ENDDO

IMHO sollte man nur Events "abfragen" die man "erwartet" und em OS() den Rest überlassen