Einzelnen Beitrag anzeigen

Loko789

Registriert seit: 23. Sep 2015
74 Beiträge
 
#1

Delphi 10.2 Firemonkey OS X Frame zerstören

  Alt 16. Mär 2018, 08:28
Hallo,
In meiner Anwendung habe ich die einzelnen Bereiche in Frames aufgeteilt. Dieser werden zur Laufzeit (je nachdem welchen Programmpunkt man gewählt hat)erstellt und wieder zerstört. Dies sieht wie folgt aus:
Delphi-Quellcode:
//code...
var
famContent:TFrame; {<-- ist global deklariert}
//code...
procedure TfrmMain.LoadFrame(TagID: Integer);
begin

  if famContent <> nil then
    famContent.free; {<-- Error}
   
  tthread.CreateAnonymousThread(
    procedure
    begin
      try
        case TagID of
          1: // Benutzer
            begin
              famContent := TfamProfil.Create(lyContent);
              (famContent as TfamProfil).StartUp;
            end;
          3: // projekt
            begin
              famContent := TfamProjekt.Create(lyContent);
              (famContent as TfamProjekt).StartUp;
            end;
        end;
      except
        on E: Exception do
          tthread.Synchronize(nil,
            procedure
            begin
              LostConnection;
            end);
      end;

      famContent.Parent := lyContent;
      famContent.Align := TAlignLayout.client;

      tthread.Synchronize(nil,
        procedure
        begin
          mdlClient.initLang(famContent);
          mvMenue.HideMaster;
        end);
    end).Start;
end;
Nun bekomme ich immer beim famContent.free eine access violation. Unter Windows Funktioniert das ohne Probleme aber unter OS X bekomme ich immer eine access violation. Gibt es eine andere Möglichkeit das Frame freizugeben?

Danke
Gruß
Loko
  Mit Zitat antworten Zitat