Zitat:
ABER, wenn jetzt in der Abarbeitung z.B. Application.ProcessMessages aufgerufen und damit die Nachrichtenverarbeitung zwischenzeitlich wieder aufgenommen wird, dann wird/kann wärend dieses Aufrufs (Application.ProcessMessages) auch noch ein weiteres Mal deine Prozedur gestartet werden, wobei der vorhergehende Aufruf natürlich wärend dieser Zeit stillsteht.
Ok, das zeigt das Verhalten was ich mit meinem Code gesehen habe:
Zitat:
2 Start * * * * *
(unterbrechung)
1 Start
1 Ende
(fortgesetzt)
* * * * * * * * * *
2 Ende
Werde einmal meinen Code nach ProcessMessages absuchen.
Wenn ich nun in meiner Funktion die Window Messages erhält ganz am Anfang schreibe: Result := 0; und dann erst die Abarbeitung mache,
ist das ähnlich einem ProcessMessages?
Habe das nähmlich so, da wenn irgendwelche For-Schleifen oder sonstige IF-Abfragen nicht zutrefen die Funktion mit Exit verlassen werden.
Ansonsten würde ja das Result undefiniert sein.
Sowie:
Delphi-Quellcode:
function My_Message(var Msg: TMessage): Integer;
begin
//define Result falls die Funktion per EXIT verlassen wird:
Result := 0;
do irgenwas
if Abarbeitung 1 OK:
if Abarbeitung 2 OK: Result := 1;
if Abarbeitung 2 NOK: Exit;
if Abarbeitung 1 NOK: Exit;
end;