AGB  ·  Datenschutz  ·  Impressum  







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

Eventdauerfeuer??

Offene Frage von "ozz"
Ein Thema von ozz · begonnen am 12. Mär 2007 · letzter Beitrag vom 14. Mär 2007
Antwort Antwort
ozz

Registriert seit: 26. Jun 2005
131 Beiträge
 
#1

Eventdauerfeuer??

  Alt 12. Mär 2007, 18:41
Hallo Leute,
ich habe ein Verständnisproblem im Zusammenhang mit Events. Angenommen ich habe den folgenden Event
type TJobsDoneEvent = procedure (NumberOfErrors:ShortInt) of object; und starte Ihn in so kurzen Abständen, daß die Behandlungsroutine noch nicht fertig ist, bevor der neue Event ausgelöst wird. Sind dann die Daten aus dem ersten Aufruf futsch,wartet das zweite Event auf das Ende von ersten Event?? Ich verstehe es nicht ganz.Wird eine Queue verwendet???

Danke für die Aufklärung.
  Mit Zitat antworten Zitat
Benutzerbild von Alexander Roth
Alexander Roth

Registriert seit: 17. Mai 2004
Ort: Kenn
574 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Eventdauerfeuer??

  Alt 12. Mär 2007, 18:49
Wie rufts du das Event auf?

Mit einem neuen Thread, ohne einem neuen Thread oder mit einer Windows-message?
Denn wann sollte sich das Dauerfeuer ergeben?
Alexander Roth
Ich bin umgestiegen auf: Lazarus und Ubuntu! Alles OpenSource!

Besuch doch mal: www.roth.us.ms
  Mit Zitat antworten Zitat
ozz

Registriert seit: 26. Jun 2005
131 Beiträge
 
#3

Re: Eventdauerfeuer??

  Alt 12. Mär 2007, 21:06
Hallo Allexander,
der Aufruf erfolgt so
if Assigned(OnJobResult) then OnJobResult(index);
  Mit Zitat antworten Zitat
Benutzerbild von Alexander Roth
Alexander Roth

Registriert seit: 17. Mai 2004
Ort: Kenn
574 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Eventdauerfeuer??

  Alt 13. Mär 2007, 07:22
Ja ja, das ist mir klar, aber das beantwortet meine Frage nicht:
Zitat von Alexander Roth:
Mit einem neuen Thread, ohne einem neuen Thread oder mit einer Windows-message?
Denn wann sollte sich das Dauerfeuer ergeben?
D.h. wo wird das if Assigned(OnJobResult) then OnJobResult(index); aufgerufen? Und wie diese Procedure/Function aufgerufen?
Alexander Roth
Ich bin umgestiegen auf: Lazarus und Ubuntu! Alles OpenSource!

Besuch doch mal: www.roth.us.ms
  Mit Zitat antworten Zitat
Benutzerbild von yörsch
yörsch

Registriert seit: 10. Jan 2007
Ort: Lampertheim
206 Beiträge
 
Delphi XE2 Architect
 
#5

Re: Eventdauerfeuer??

  Alt 13. Mär 2007, 08:07
HAI ozz,

versuchs sichtbar zumachen: also schleifen zähler nach außen anzeigen (bitte ohne debugger, den der hat einen eigenen thread!)

und ohne neuen Thread was Alexander fragte geht das alles schön nacheinander...
Jörg
have FUN
  Mit Zitat antworten Zitat
ozz

Registriert seit: 26. Jun 2005
131 Beiträge
 
#6

Re: Eventdauerfeuer??

  Alt 13. Mär 2007, 21:13
Hallo Alexander, hallo yörsch

Danke für die Hilfe.

Also der Event wird innerhalb einer sync- Funktion ausgelöst. Die Behandlungsroutine dazu ist jedoch im Hauptprogramm.
  Mit Zitat antworten Zitat
Benutzerbild von Alexander Roth
Alexander Roth

Registriert seit: 17. Mai 2004
Ort: Kenn
574 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Eventdauerfeuer??

  Alt 14. Mär 2007, 14:50
Also das beantortet die Frage immer noch nicht ganzs so richtig.

Im Hauptprogramm? Heißt das jetzt im selben Thread oder nicht!!!?

Gruß Alexander



PS: Was ist eine sync-Function? Ist das irgendeine spezielle Art die ich kennen sollte, oder ist das einfach eine Synchronisations Funktion (also beschreibt die Aufgabe der Funktion)?
Alexander Roth
Ich bin umgestiegen auf: Lazarus und Ubuntu! Alles OpenSource!

Besuch doch mal: www.roth.us.ms
  Mit Zitat antworten Zitat
ozz

Registriert seit: 26. Jun 2005
131 Beiträge
 
#8

Re: Eventdauerfeuer??

  Alt 14. Mär 2007, 18:07
Hallo Alexander,
Danke das du so hartnäckig bist.

Der Aufruf erfolgt innerhalb der Sync Funktion, die nicht im Thread ist. Die Behandlungsroutine ist im Formular, also auch nicht im Thread.
  Mit Zitat antworten Zitat
Benutzerbild von Alexander Roth
Alexander Roth

Registriert seit: 17. Mai 2004
Ort: Kenn
574 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Eventdauerfeuer??

  Alt 14. Mär 2007, 18:27
Zitat von ozz:
Danke das du so hartnäckig bist.
Jetzt überstrapazierst du aber meine Gedult langsam.

Zitat von ozz:
Die Behandlungsroutine ist im Formular, also auch nicht im Thread.
Was heißt im Formular? Das Formular hat nämlich keinen neuen Thread.
Oder bist du dir absolut sicher, dass es einen eigenen Thread hat, weil du mit TThread abreitest?
Falls du dir nicht sicher bist, kann ich vielleicht den Code dazu sehen (und bitte nicht allzu sparsam), oder beschreibst du endlich mal ausführlich wie, wann warum, und wo diese synch-Funktion aufgefrufen wird.

Und meine Frage steht noch im Raum:
Zitat von Alexander Roth:
Was ist eine sync-Function? Ist das irgendeine spezielle Art die ich kennen sollte, oder ist das einfach eine Synchronisations Funktion (also beschreibt die Aufgabe der Funktion)?
Gruß Alexander


PS: Sämtlichen ärgelichen Unterton will ich entschuldigen.
PPS: Wenn du willst, dass irgendjemand deine Frage beantwortet, solltest du genügend Infos geben, damit dies überhaupt möglich ist. Oder zumindest nachher ausführlich auf die Fragen antworten
PPPS: Und würde ich nicht immer so eine nette Mail bekommen, hätte ich das Thema auch schon längst "vergessen".
Alexander Roth
Ich bin umgestiegen auf: Lazarus und Ubuntu! Alles OpenSource!

Besuch doch mal: www.roth.us.ms
  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 09:24 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