AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

constructor create;

Ein Thema von gfjs · begonnen am 31. Aug 2006 · letzter Beitrag vom 31. Aug 2006
Antwort Antwort
gfjs

Registriert seit: 8. Dez 2005
Ort: Hohenkammer
298 Beiträge
 
Delphi 2006 Professional
 
#1

constructor create;

  Alt 31. Aug 2006, 11:26
Hallo, Allerseits.

Ich habe ein Komponente (Label) erweitert und habe mich dabei (erstmals) der Templates bedient (classc), worauf mir der Rumpf der Typ-Deklaration vorgelegt wurde. In diesem Rumpf war enthalten: constructor create; override; Beim Start meckerte der Compiler: [Pascal Fehler] uSpielplan.pas(61): E2170 Eine nichtvirtuelle Methode kann nicht überschrieben werden .
Ich habe dann - in der stillen Hoffnung, das sei möglicherweise richtig - das "override" durch "overload" ersetzt. Jetzt meckert der Compiler nicht mehr, aber ich würde gerne wissen, was da im Einzelnen passiert.

Wie immer dankbar für jeden Hinweis

Gruß Jürgen.
Mein neues Motto (von "Unbekannt"):
Gewinnen: Wenn Du kannst - Verlieren: Wenn Du musst - Aufgeben: NIE!
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: constructor create;

  Alt 31. Aug 2006, 11:32
constructor create; reintroduce; Ich denke mal das dürfte auch unter .NET gehen. Wovon leitest du überhaupt ab?
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
gfjs

Registriert seit: 8. Dez 2005
Ort: Hohenkammer
298 Beiträge
 
Delphi 2006 Professional
 
#3

Re: constructor create;

  Alt 31. Aug 2006, 11:35
TMyLabel = class(System.Windows.Forms.Label)
....
end;
Mein neues Motto (von "Unbekannt"):
Gewinnen: Wenn Du kannst - Verlieren: Wenn Du musst - Aufgeben: NIE!
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#4

Re: constructor create;

  Alt 31. Aug 2006, 11:38
Hmm, in .NET kann man keine Konstruktoren überschreiben, oder? Bzw. aus diesem Grund sind die Konstruktoren der Framework-Klassen nichtvirtuell.
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: constructor create;

  Alt 31. Aug 2006, 11:40
Also ich weiß nicht, wie es unter .NET ist, aber unter Win32 kann man auch statische Methoden mithilfe von reintroduce überschreiben. Sogar mit neuer Parameterliste.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
gfjs

Registriert seit: 8. Dez 2005
Ort: Hohenkammer
298 Beiträge
 
Delphi 2006 Professional
 
#6

Re: constructor create;

  Alt 31. Aug 2006, 11:45
Keine Ahnung!

Warum wird aber dann automatisch "constructor create; override;" erzeugt?
Mein neues Motto (von "Unbekannt"):
Gewinnen: Wenn Du kannst - Verlieren: Wenn Du musst - Aufgeben: NIE!
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#7

Re: constructor create;

  Alt 31. Aug 2006, 11:48
Weil der Wizard wohl dringend mal überarbeitet werden müsste .
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#8

Re: constructor create;

  Alt 31. Aug 2006, 11:52
reintroduce entspricht meines Wissens new in C#, dabei wird die Methode nicht überschrieben, sondern verdeckt, oder?
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: constructor create;

  Alt 31. Aug 2006, 11:53
Aber man kann trotzdem die vererbte Methode aufrufen.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:42 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