AGB  ·  Datenschutz  ·  Impressum  







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

Klassen constructor Aufrufen

Ein Thema von bernhard_LA · begonnen am 3. Apr 2017 · letzter Beitrag vom 4. Apr 2017
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.752 Beiträge
 
Delphi 12 Athens
 
#1

AW: Klassen constructor Aufrufen

  Alt 4. Apr 2017, 13:04
Warum also ein override?
Das kommt darauf an, was du erreichen willst. Solange du immer nur TMyButton.Create aufrufst, funktioniert das. Sobald aber das Streaming-System oder der IDE-Formular-Designer ins Spiel kommen, ist dein Constructor außen vor und wird nicht aufgerufen. Wie gesagt, das kann so gewünscht sein - ist es in der Regel aber nicht.

Der Sinn von virtuellen Konstruktoren ist ja genau der, daß sie auch aufgerufen werden können, wenn dem Aufrufenden die tatsächliche Klasse nicht bekannt ist.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.164 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Klassen constructor Aufrufen

  Alt 4. Apr 2017, 13:40
Sobald aber das Streaming-System oder der IDE-Formular-Designer ins Spiel kommen, ist dein Constructor außen vor und wird nicht aufgerufen.
Ja genau - das wollte ich eigentlich damit sagen...

Der Sinn von virtuellen Konstruktoren ist ja genau der, daß sie auch aufgerufen werden können, wenn dem Aufrufenden die tatsächliche Klasse nicht bekannt ist.
Perfekt... Warum hatte ich das nicht geschrieben? OK ich hole mir erst nen Kaffee...



Immer wenn das Telefon klingelt, sollte ich meine Post vor dem senden erst nochmal lesen...
  Mit Zitat antworten Zitat
Fritzew

Registriert seit: 18. Nov 2015
Ort: Kehl
678 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Klassen constructor Aufrufen

  Alt 4. Apr 2017, 13:19
Welcher Constructor wird ausgeführt wenn ich meine Komponente auf ein Form ziehe ?
Nochmal zurück zu dieser Frage... Man möge mich korrigieren, wenn ich falsch liege...

Wenn ich eine Object erzeuge das ich von einem anderen Object ableite schreibe ich i.d.R. nicht override...

Beispiel:

Delphi-Quellcode:
type
  TMyButton = class(TButton)
    public
      Constructor Create(AOwner : TComponent);
  end;
Das kommt aber ne Warnung wenn Die neue Klasse von TComponent abgeleitet ist. Aus diesem Grund werden bei uns eigentlich fast alle Warnungen als Fehler behandelt, dann geht so etwas auf keinen Fall unter
Fritz Westermann
  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 21:46 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