AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Tcomponent/destructor

Ein Thema von Sh4d0w · begonnen am 13. Sep 2006 · letzter Beitrag vom 14. Sep 2006
 
beo

Registriert seit: 7. Sep 2006
13 Beiträge
 
#4

Re: Tcomponent/destructor

  Alt 13. Sep 2006, 19:32
Im allgemeinen wernden Objekte mit .Free freigegeben.

Eine Außnahme gibt es allerdings noch bei Forms. Hier sollte man Form.Release verwenden, damit mögliche Events noch vollständig abgearbeitet werden können, bevor das Form dann freigegeben wird.

Die Definition einer Klasse würde ich immer in eine Unit packen, wenn das nicht passt, sollte man sich überlegen ob man die Objekte nicht besser modellieren kann:

Beispiel:

Delphi-Quellcode:
Unit uHaus;

interface;

uses
  ..

type
  THaus = class(Tcomponent)
  public
    Constructor Create(AOwner..);
    Destructor Destroy; override;
  end;


implementation
  

Constructor THaus.Create(AOwner..);
begin
  inherited Create(AOwner);
...
end;

Destructor Destroy;
begin
 ...
 inherited Destroy;


end;
----

Delphi-Quellcode:
unit uTest


interface;

uses
  uHaus;


procedure Test;
var
  haus:THaus;
begin
  haus := THaus.Create(nil); // eine Instanz von Haus erzeugen
  haus.ToWas; // Instanz benutzen
  haus.Free; // Instanz wieder freigeben
end;

Du musst zwischen der Definition einer Klasse (hier in uHaus) und der Instanz (hier i uTest) einer Klasse unterscheiden. Nur die Instanz existiert wirklich, und nur mit der kannst du arbeiten. Die Definition ist eine Art Schablonbe, die beschreibt, was du abbilden möchtest.
Christian
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:07 Uhr.
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