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