Einzelnen Beitrag anzeigen

DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#4

Re: Welches Form des wechselseitigen Auschlusses(Semaphore)?

  Alt 25. Feb 2008, 14:22
@sirius:

Zitat:
Application.ProcessMessages zu verwenden ist (fast) immer ein falscher Konzeptansatz. Und wenn du schon über Synchronistaionsobjekte sprichst, warum nimmst du nicht gleich einen Thread. Meistens läßt sich ja mit einem Thread das schlechte ineinanderwurschteln von Application.ProcessMessages vermeiden.
Da hast du vollkommen Recht, das Design an der Stelle ist nicht sauber, genau da liegt das Problem. Ich doktor jetzt an
den Symptomen rum, müsste mir aber die Auslöser dafür vornehmen.

Das Problem was ich habe ist folgendes:

Ich habe eine Kommunikation zwischen einem Gerät und meiner PC-Soft. Es ist eine Frage Antwort Spielchen:

Frage: Gib mir Daten auf Adress 0x1000
...
Delphi-Quellcode:
// Hier liegt mein Problem, da ich aktiv auf die Antwort warte (warten muss);
// Ich warte auf 6 Bytes (wenn diese in einer Zeitpanne nicht da sind frage ich nochmals nach (3-mal)
// dann muss ich auf einen Timeout detektieren
...

Antwort: Hier die Daten

Und das ist alles in einem Funktionsaufruf gekapselt...
  Mit Zitat antworten Zitat