Wenn die
ActiveX-Komponente nicht threadsave ist, dann mußt du alle Zugriffe über den selben Thread laufen lassen.
Nutzt du diese Komponente auch innerhalb der
VCL, dann muß also alles in den Hauptthread verlegt werden.
Synchronize synchronisiert sich ja standardmäßig mit dem Hauptthread.
Syncronize nimmt ja nunml eine parameterlose Methode entgegen.
Also ja, du müßtest diese Aufrufe in eine extra Methode auslagern.
Es sei denn du könntest/wölltest schon mit Generics arbeiten. (ich hoffe mal das lief im 2009er schon anständig)
Generics > als anonyme Methode:
Delphi-Quellcode:
Synchronize(nil, procedure
begin
//hier der Aufruf (man könnte sogar lokale Variablen/Parameter aus der aufrufenden Methode direkt verwenden)
end);