Also WM_COPYDATA ist eigentlich eh nur für
IPC gedacht. Wenn man damit eh gezwungenermaßen
SendMessage verwenden muss, dann kannst du genausogut eine eigene Message definieren und einfach lParam oder wParam auf deinen Record zeigen lassen. Hier hast du aber dann das exakt gleiche Verhalten wie bei
TThread.Synchronize
, sprich: Der aufrufende Thread wird solange blockiert, bis das Mainthread die Nachricht abgearbeitet hat.