Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Freigabe von Objekten in Objekten (https://www.delphipraxis.net/142134-freigabe-von-objekten-objekten.html)

DeddyH 22. Okt 2009 17:52

Re: Freigabe von Objekten in Objekten
 
Du musst auch den Parent für das Objekt2 setzen.
Delphi-Quellcode:
constructor TObjekt1.Create(AOwner: TComponent; Anders : byte);
begin
  inherited Create(AOwner);
  Parent := AOwner as TWinControl;
  case Anders of

    ...

    2:
      begin
        Objekt2 := TObjekt2.Create(Self); //////////////////////
        Objekt2.Parent := AOwner as TWinControl;
        ...

Ginko 22. Okt 2009 18:00

Re: Freigabe von Objekten in Objekten
 
:thumb: Danke das war es :hello: Der überaus bösartige Parent war wirklich schuld....

So klapptes:

Delphi-Quellcode:
constructor TObjekt1.Create(AOwner: TComponent; Anders : byte);
begin
  inherited Create(AOwner);
  case Anders of
    1:
      begin
        Parent := AOwner as TWinControl;////////////////
        Left := 450;
        Top := 150;
        DefaultColWidth := 30;
        DefaultRowHeight := 30;
        FixedCols  := 0;
        FixedRows  := 0;
        BorderStyle := bsSingle;
        ColCount   := 8;
        RowCount   := 1;
        Width := 253;
        Height := 32;
      end;

    2:
      begin
        Objekt2 := TObjekt2.Create(AOwner);
        Parent := AOwner as TWinControl;    ////////////////////!!!
        Objekt2.Top := 200;
        Left := 450;
        Top := 200;
        DefaultColWidth := 30;
        DefaultRowHeight := 30;
        FixedCols  := 0;
        FixedRows  := 0;
        BorderStyle := bsSingle;
        ColCount   := 8;
        RowCount   := 1;
        Width := 253;
        Height := 32;
      end;
  end;
end;

DeddyH 22. Okt 2009 18:13

Re: Freigabe von Objekten in Objekten
 
Ist der Speicherfehler denn jetzt auch behoben, oder hast Du nur das Free im Destruktor rausgeworfen und bekommst nun Memoryleaks?

Ginko 22. Okt 2009 18:22

Re: Freigabe von Objekten in Objekten
 
Nein ich habe das Objekt2.Free nicht rausgeworfen und der Speicherfehler ist weg.
Es lag scheinbar nur daran, dass ich den Parent jedesmal extra angeben muss. Warum ist mir aber nicht wirklich klar ....

DeddyH 22. Okt 2009 18:25

Re: Freigabe von Objekten in Objekten
 
Ööhhmm... hö :?: Aber egal, wenn es jetzt funktioniert, ist ja alles gut :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:00 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz