Autor Beitrag
Tranx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 648
Erhaltene Danke: 85

WIN 2000, WIN XP
D5 Prof
BeitragVerfasst: So 30.10.11 19:56 
Ich habe da mal eine Frage:

Was soll diese Fehlermeldung?

Angeblich wird die virtuelle Methode des Basistyps einer Klasse verborgen. Ich habe Construktoren geschrieben, nach dem Typ
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
  Txx = class(TBitBtn)
    AOwner: TWinControl;
    fLinkList: TLabeledLinkList;
    fLinkLabel: TLabel;
:
:
  private
:
:
  protected
  public
    constructor Create(AOwner: TWinControl);
    destructor destroy; override;
:
:
  published
  end;

Innerhalb der Konstruktoren habe ich als ersten Befehl geschrieben:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
constructor Txx.Create(AOwner: TWinControl);
begin
  inherited Create(AOwner);
  fLinkList := Tyy(AOwner).LabeledLinkList;
  fLinkLabel := TLabel.Create(AOwner);
:
:
end;
// Erläuterung
// Tyy ist eine Groupbox, in der Txx dargestellt wird. Txx wind in einer Liste gespeichert, welche Nachfolgerin von TList ist.


Frage mich nun, was da verborgen sein soll, da ich in der Createprozedur doch den Vorgänger-Konstruktor aufrufe. Und wenn es doch ein Fehler sein soll, welche Auswirkung hätte der? Bisher stelle ich kein Fehlverhalten fest. Oder liegt das an der virtuellen Prozedur Create des Basistyps, welche ja wohl kaum etwas tut. Oder sehe ich das verkehrt?


Moderiert von user profile iconNarses: Topic aus VCL (Visual Component Library) verschoben am So 30.10.2011 um 22:19

_________________
Toleranz ist eine Grundvoraussetzung für das Leben.
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: So 30.10.11 23:23 
ausblenden Delphi-Quelltext
1:
constructor Create(AOwner: TComponent);  override;					


Moderiert von user profile iconMartok: Delphi-Tags hinzugefügt

_________________
Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
Tranx Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 648
Erhaltene Danke: 85

WIN 2000, WIN XP
D5 Prof
BeitragVerfasst: Mo 31.10.11 13:30 
Bummi, habe die Create-Prozeduren nach Deinem Schema umgeschrieben.

Es tauchen jedoch zwei Fehlermeldungen des Compilers auf:

1. Eine statische Methode kann nicht überschrieben werden (Anscheinend ist der Construktor Create der Vorgänger statisch)
2. Inkompatible Typen TComponent und TWinControl ( Die Variable AOwner kann wohl nur vom Typ TWincontrol sein).

Also muss ich wohl alles so lassen. Aber danke für den Hinweis.

_________________
Toleranz ist eine Grundvoraussetzung für das Leben.
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Mo 31.10.11 13:45 
Die älteste Delphiversion die ich noch am laufen habe ist D7, dort lande ich bei STRG+Klick auf TBitBtn Deklaration an der Stelle
TBitBtn = class(TButton)
mit

public
constructor Create(AOwner: TComponent); override;

_________________
Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
Tranx Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 648
Erhaltene Danke: 85

WIN 2000, WIN XP
D5 Prof
BeitragVerfasst: Mo 31.10.11 15:03 
Ah, daher der Unterschied.

Ich hoffe bloß, dass neuere Delphi-Versionen da eine einfachere Übertragung ermöglicht. Es macht ja wenig Sinn, den kompletten Code nach möglichen Komponentenwechseln abzusuchen, bis dann mal ein lauffähiges Programm steht. Jetzt verstehe ich auch, wieso das damals mit Delphi 8 nicht funktionierte.

_________________
Toleranz ist eine Grundvoraussetzung für das Leben.
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Mo 31.10.11 15:09 
mhhhh, wo landest Du denn und was steht bei Dir dort wo Du landest .....

_________________
Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
Tranx Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 648
Erhaltene Danke: 85

WIN 2000, WIN XP
D5 Prof
BeitragVerfasst: Mo 31.10.11 16:04 
Ich hatte vor ewigen Zeiten mal versucht, den Code, den ich in Delphi 5 geschrieben habe, auf Deplhi 8 zu übertragen. Doch da kamen so viel Fehlermeldungen bzw. fehlende Komponenten (obwohl ich damals gar keine eigenen Komponenten geschrieben hatte), dass ich den Versuch aufgab. Das hätte soviel Zeit beansprucht, bis das Ganze gelaufen wäre, dass ich keine Lust dazu hatte. Mit Delphi XE gings (Als Testversion, allerdings Architecture-Version) überraschend gut. Aber leider fehlt mir die Knete, diese Version mir zuzulegen.

Vielleicht kommt das ja mal in Frage. Aber jetzt eben nicht.

_________________
Toleranz ist eine Grundvoraussetzung für das Leben.