Der Weg über Messages ist
OOP konform der Weg über Synchronize und Variable ist nicht weil die Daten-Kapslung verletz wird und man die interne Struktur von MyThread kennen muss.
Synchronize macht das ganau gleiche im Hintergrund, führt eine SendMessage aus an den MainThread.
Dein Problem ist wen ich richtig verstehe:
MyThread -> synchroner call einer->Procedure/Function im Unit1
wen ja dann tausche den "synchronen call" gegen einen asynchronen (über Message call "SendMessage").
ciao
radekj