Hallo und

in der Entwickler-Ecke!
Das funktioniert so nicht, weil zu dem Zeitpunkt, an dem Form1 erstellt wird, ist in aller Regel Form2 noch nicht vorhanden - daher gibts dann eine Zugriffsverletzung.
Das kann man umgehen, indem man entweder die Form2 erst im OnShow von Form1 anzeigen lässt, oder man lässt Form2 vor Form1 erzeugen (in der Projektdatei (.dpr) die Zeilen tauschen), oder man lässt Form2 generell nicht automatisch erzeugen, sondern erzeugt sie manuell nur dann, wenn sie auch gebraucht wird, und zerstört sie hinterher wieder.
We are, we were and will not be.