Einzelnen Beitrag anzeigen

Sankt Rochus

Registriert seit: 30. Nov 2012
15 Beiträge
 
#13

AW: Formular modal öffnen

  Alt 8. Sep 2015, 15:01
Ich habe das mit dem reinen ShowModal() ohne Parameter jetzt nochmals ausprobiert. Dazu habe ich auf mein Hauptformular einen Button btn1 gelegt das ein Testformular öffnet. Ich bekomme es nicht hin

Delphi-Quellcode:
procedure TfMain.btn1Click(Sender: TObject);
var
  l_TestFormular: TTestFormular;
begin
  l_TestFormular := TTestFormular.Create(nil);
  l_TestFormular.ShowModal;
  l_TestFormular.Release;
end;
Das Testformular selbst enthält wirklich NUR einen Label mit dem Text "Dies ist ein Testformular" und einen Button, bei dessen Klick Close() aufgerufen wird. Das Fenster öffnet auch und schließt sich wieder, doch dann bekomme ich plötzlich herbe Style-Fehler in meinem Hauptformular. Kann das so schwer sein?

Muss ich vlt. einen Owner mit angeben? Das war so weit ich weiß in der VCL nicht nötig. Muss ich etwa statt Release Free oder FreeAndNil verwenden oder gar das Formular an dieser Stelle gar nicht freigeben, sondern stattdessen im FormClose-Event ein Action := TCloseAction.caFree; ? Alles ausprobiert, doch ohne Erfolg.

Edit:
Okay, ich habe nun einen sicheren Verdacht. Wir verwenden auf dem Hauptformular ein StyleBook als Non-visible-Component, die ich bisher immer im Designer auf neue Formulare kopiert habe. Jedoch scheinen die Kopien keine echten Kopien zu sein, sondern Referenzen, sodass beim Free das Stylebook mit freigegeben wird. Wie mache ich so etwas denn richtig? Es mag sein, dass das Stylebook-Copy-Past nicht der beste Weg ist.

Geändert von Sankt Rochus ( 8. Sep 2015 um 15:33 Uhr)
  Mit Zitat antworten Zitat