Ich habe hier mal eine kleine Demo gebaut wie ich das realisieren würde.
Das geht sicher noch viel viel besser.
Test ist der Sender, Test2 ist der Empfänger
3 Buttons:
1: setzt das Formular Receiver zurück (ProgressBar.Position := 0; Label1.Caption := '-'
2: sendet 100x einen einen String und einen Integer an Receiver, dort wird eine ProgressBar gesetzt (dauert bei mir zwischen 5ms und 18ms)
3: sendet 50.000x einen String und einen Integer an Receiver, dort wird ein Label.Caption gesetzt (dauert bei mir zwischen 15 und 17 Sekunden)
Wenn man |exit an den zu sendenden String anfügt, stopt die Prüfung in Receiver > TForm1.WMCopyData nach dem ersten String.
Kann man das mit
WMCopyData noch verbessern?