AGB  ·  Datenschutz  ·  Impressum  







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

eigene Klasse; Constructor inkl. TImage

Ein Thema von Deinhaus · begonnen am 22. Jun 2010 · letzter Beitrag vom 23. Jun 2010
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#11

AW: eigene Klasse; Constructor inkl. TImage

  Alt 23. Jun 2010, 14:00
Oder man überschreibt einfach den geerbten Konstruktor und lässt die weiteren Eigenschaften anschließend setzen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Deinhaus

Registriert seit: 31. Jan 2008
12 Beiträge
 
#12

AW: eigene Klasse; Constructor inkl. TImage

  Alt 23. Jun 2010, 14:41
bei inherited Create(AParent); kommt "ungültige Zeigeroperation"

bei inherited Create(Owner); kommt nix. scheint zu gehen.

Wie ist das inherited Create(Owner); zu verstehen?

Ich rufe im Constructor der Klasse den Constructor der Superklasse auf mit dem Parameter das meine Klasse der Besitzer des Constructors ist?

Gruß und Dank
Daniel Einhaus
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#13

AW: eigene Klasse; Constructor inkl. TImage

  Alt 23. Jun 2010, 14:43
Nein, Du rufst den geerbten Konstruktor auf und sagst ihm, wer der Owner Deiner Klasse ist.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#14

AW: eigene Klasse; Constructor inkl. TImage

  Alt 23. Jun 2010, 17:46
Mal eine Frage, warum ist dein TEnemy denn ein Nachfahre von TComponent? Das wurde dir ja nur empfohlen, damit du den TImage was übergeben kannst. Oder übersehe ich da was?

Ansonsten einfach standardmäßig von TObject erben (bzw. "gar nicht" erben was ja implizit von TObject erbt).

Außerdem, würde ich den Konstruktor nicht überschreiben ohne das den Code hinzuweisen (mit override). Das geht aber nur, wenn der Konstruktor gleich bleibt.

Wenn du das stattdessen dennoch in einen Einzeiler machen willst, dann würde ich das so machen:

Delphi-Quellcode:
type
  TBlub = class(TParent)
  private
    f : Integer;
  public
    function Init(foo : Integer) : TBlub;
  end;

function TBlub.Init(foo : Integer) : TBlub;
begin
  f := foo;
  Result := Self;
end;
Statt:
Delphi-Quellcode:
type
  TBlub = class(TParent)
  private
    f : Integer;
  public
    constructor Create(foo : Integer);
  end;

constructor TBlub.Create(foo : Integer);
begin
  inherited Create;
  f := foo;
end;
Das sieht dann besser aus, anstatt den Konstruktor zu überdecken.

MfG
Fabian
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Deinhaus

Registriert seit: 31. Jan 2008
12 Beiträge
 
#15

AW: eigene Klasse; Constructor inkl. TImage

  Alt 23. Jun 2010, 19:02
Hi,

hm... ich hab das gemacht, weil es vorher irgendwie nicht lief und als ich das dann eingetragen hatte, ging es plötzlich.

Ich habs jetzt rausgenommen und es geht auch. Keine Ahnung, was ich noch gemacht habe in der Zwischenzeit.

Frage: Ist es ok, wenn ich den CONSTRUCTOR einer Klasse alle properties der Klasse einstellen lasse, oder sollte ich das gesondert machen damit der CONSTRUCTOR nicht so voll ist?

Gruß
Daniel Einhaus
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#16

AW: eigene Klasse; Constructor inkl. TImage

  Alt 23. Jun 2010, 20:14
Moin,
[...]Ich habs jetzt rausgenommen und es geht auch. Keine Ahnung, was ich noch gemacht habe in der Zwischenzeit.[...]
Du hast was valides im Konstruktor von TImage übergeben.

MfG
Fabian
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 08:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz