Jo ist doch alles super programmiert.
Da brauchst du überhaupt keine globale Variable. Leg sie doch einfach in die Klasse TForm4 rein.
So und jetzt musst du dir halt überlegen, ob du für jeden Thread einen eigenen Container machst, oder in den einen Container mehrere TExpDatas.
Wann Freigeben? gute Frage:
1. Du schickst eine Message am Ende des
SQL-Thread an den Mainthread, der den Container löschen soll
2. Du löschst den Container im onTerminate-Ereignis des Threads (geht nur, wenn du nicht in einer
DLL bist; ist aber ansonsten mit Variante 1 gleichwertig)
3. Du nimmst Interfaces. Die Löschen sich selber, wenn sie nicht mehr benötigt werden (Das Interface musst du wahrscheinlich von IReadWriteSync ableiten)
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.