EventSchikane...

Eigentlich ist mir die Frage peinlich, aber es kann sonst niemand helfen ... :)

Moderator: Moderatoren

Antworten
GrillenHirni
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 116
Registriert: Do, 18. Jul 2013 11:56
Kontaktdaten:

EventSchikane...

Beitrag 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
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: EventSchikane...

Beitrag 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.
Herzlich,
Tom
GrillenHirni
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 116
Registriert: Do, 18. Jul 2013 11:56
Kontaktdaten:

Re: EventSchikane...

Beitrag 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
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: EventSchikane...

Beitrag 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.
Gruß
Hubert
GrillenHirni
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 116
Registriert: Do, 18. Jul 2013 11:56
Kontaktdaten:

Re: EventSchikane...

Beitrag 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
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: EventSchikane...

Beitrag 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
gruss by OHR
Jimmy
Antworten