AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wann tritt ein Ereignis ein?

Ein Thema von hirnstroem · begonnen am 23. Jan 2007 · letzter Beitrag vom 23. Jan 2007
Antwort Antwort
hirnstroem

Registriert seit: 21. Sep 2005
297 Beiträge
 
Delphi 2006 Professional
 
#1

Wann tritt ein Ereignis ein?

  Alt 23. Jan 2007, 11:58
'loha Folks,

folgendes Szenario:

Eine Prozedur wird aufgerufen, welche über den COM-Port Daten versendet und zugleich einen InputBuffer auf eingehende Daten durchsucht. Wird während einer definierten Zeitspanne etwas gefunden, so werden die entsprechenden Daten gelöscht.

Es ist so, dass eintreffende Daten sich durch das Auslösen eines Ereignisses (OnRxChar) bemerkbar machen.

Meine Frage ist nun, ob, wenn die genannte Prozedur abgearbeitet wird, die Daten welche am COM-Port ankommen sofort für diese Prozedur verfügbar sind. Oder ob zuerst die Prozedur beendet werden muss, bis das Ereignis eintritt.

Ich hoffe dies ist einigermassen verständlich formuliert.

Grüsse
hirnstroem
inde deus abest
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#2

Re: Wann tritt ein Ereignis ein?

  Alt 23. Jan 2007, 12:11
Hi,
ich hoffe ich habe Dich richtig verstanden. Also an sich sollte das Ereignis quasi-parallel zu Deinem Programm eintreten und abgearbeitet werden. Das ganze siehst Du leicht, wenn Du etwas bestimmtes tust (z.B. in einer Schleife auf einen Canvas zeichnen) und dann einfach mal mit der Maus das Form bewegst oder einen Button drückst oder so. Dabei wird dann auch ein entsprechendes Ereignis und seine Behandlung ausgelöst.

Die eigentliche Frage ist, wie wartest Du denn die gewisse Zeitspanne ab? Ich glaube mich zu erinnern, dass die Lösung doch schon ein MsgWaitForMultipleObjects enthält? Da solltest Du dann leicht signalisieren können, das Daten angekommen sind. Gerade wenn Du hier den Prozess auf Ereignisse (Eintreffen von Daten oder eben Ablaufen einer Zeit) warten lässt, dann schläft der bis die Daten ankommen (oder eben die Zeit abgelaufen ist), hat also eh nichts anderes zu tun.
Aber wie gesagt, an sich läuft das aut. parallel.

Gruß Der Unwissende
  Mit Zitat antworten Zitat
hirnstroem

Registriert seit: 21. Sep 2005
297 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Wann tritt ein Ereignis ein?

  Alt 23. Jan 2007, 12:15
Bestens. Also wenn es ohnehin parallel läuft, erübrigt sich einiges.

Ich war mir nicht sicher ob, wenn ein solches Ereignis eintritt und z.B. einen Eintrag in eine StringList macht, die wartende Prozedur das eintragen durch die Funktion, welche das Ereignis auslöst, überhaupt mitbekommt oder nicht.

Aber wenn du das so erklärst...bin ich zufrieden.

Danke und Gruss
hirnstroem
inde deus abest
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz