Ich frag' jetzt mal, ohne wirklich Ahnung zu haben:
Du willst doch wissen, ob das Parentform modal ist, fragst aber, ob der Owner modal ist. Parent ist nicht zwingend gleich Owner.
Was passiert, wenn Du Owner durch Parent ersetzt?
isModal := (fsModal in TForm(Parent).FormState);
Klar, ggfls. muss vorher prüfen werden, ob Parent was zugewiesen wurde und wenn ja, ob das ein TForm ist.
Das Frame wird im OnCreate des Forms erzeugt.
Delphi-Quellcode:
myFrame := TMyFrame.Create(self);
myFrame.parent := self;
Wie du siehst, wird Parent erst im nächsten Befehl zugewiesen. Daher ist Parent im Create des Frames nil. Owner ist aber bekannt. Deshalb verwende ich owner.
Es ist ja auch nicht das Problem, an die Form zu kommen, auf dem das Frame sitzt. Die Form hat zu dem Zeitpunkt einfach noch nicht den Modal-Status. Das war mein Problem.