Also erstmal: Kein Problem. Hab gerne geholfen
Zum Nächsten mit den Messages:
Aus der Hilfe:
Zitat:
The WM_USER constant is used by applications to help define private messages for use by private window classes, usually of the form WM_USER+X, where X is an integer value.
Es Basiert also darauf, dass es Nummern sind. Es gibt vergebene Nummern (unterhalb von WM_USER) wie z.B. WM_CLOSE. Diese dürfen halt nicht verwendet werden.
Du erzeugst dir als eine Konstante für eine Message im Bereich WM_USER +X und unterhalb von WM_APP um eigene Nachrichten zu verarbeiten - also solche die es noch nicht gibt.
Um jetzt auf so eine Nachricht reagieren zu können muss man ein paar Regeln einhalten. Ich denke aber, da gibt es weit aus qualifiziertere Leute hier die das erklären könnten. Im groben kann ich dir aber erklären was ich gemacht habe.
Die Methode
procedure WMMachJetztWeiter(var Msg: TMessage);
selber dürfte ja klar sein. Durch das dahinter schreiben von
message WM_MACH_JETZT_WEITER;
erkläre ich, dass diese Methode ausgelöst werden soll, wenn eine Nachricht mit dieser Nummer - WM_MACH_JETZT_WEITER - kommt.
Und das ist alles.
Und den Aufwand betreiben wir quasi nur, um den Thread von dem MainThread zu entkoppeln
Gruß, Chris