Einzelnen Beitrag anzeigen

schwa226

Registriert seit: 4. Apr 2008
400 Beiträge
 
#1

Funktion die von Programmen aufgerufen wird absichern

  Alt 30. Nov 2009, 07:54
Hi,

ich habe da jetzt einmal eine Anfängerfrage, da ich ja nie selber richtig Programmieren gelernt habe!

Ich habe z.B. eine Funktion/Methode in meinem Programm das auf Window-Messages reagiert.
Sagen wir einmal die Abarbeitung dieser Funktion/Methode dauert ~1 Sekunde.

Was ist nun wenn z.B. alle 0,1 Sekunden eine solche Nachricht erhalten wird?

Wenn ich es mir per LOG-File ansehe schaut es ca. so aus:

Zitat:
LOG: Aufruf 1 started
LOG: Aufruf 1 Abarbeitung
LOG: Aufruf 2 started
LOG: Aufruf 2 Abarbeitung
LOG: Aufruf 1 fertig
LOG: Aufruf 2 fertig
Kann man das so verändern das dass LOG dann so aussieht:
Zitat:
LOG: Aufruf 1 started
LOG: Aufruf 1 Abarbeitung
LOG: Aufruf 2 started
LOG: Aufruf 1 fertig <- warten bis vorheriger Aufruf fertig
LOG: Aufruf 2 Abarbeitung
LOG: Aufruf 2 fertig
Denn je nach Inhalt in der Funktion kann es sein, dass Aufruf 2 auf Variabeln zugreift die noch oder noch nicht von Aufruf 1 aktualisiert worden sind.

Bei einem Timer geht das ja z.B. so dass ich beim Einsteigen in die Funktion das Enable auf False setze.
Nach beenden der Funktion wieder auf True.
Delphi 2010, Update 4 & 5
  Mit Zitat antworten Zitat