Vor allem: Wenn ich die Variable "frm" nur in der Prozedur setze... wie kann ich dann in einer anderen abfragen ob das formular gerade erzeugt ist?
Das ist doch gar nicht nötig.
Das modale Formular lebt nur für eine kurze Zeit.
Die Daten, die in das modale Formular hineingehen und herauskommen müssen z.B. in einem Record oder einer Klasse gespeichert werden.
Das Formular selbst sollte nicht als Ersatz für einen Datenkontainer missbraucht werden.
Falls man das aber doch tum möchte, kann man das Formular schon zum Programmstart automatisch erzeugen lassen.
Um das Freigeben kümmert sich dann die
VCL.