Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem beim "ableiten" (https://www.delphipraxis.net/89901-problem-beim-ableiten.html)

Masterj44 8. Apr 2007 00:06


Problem beim "ableiten"
 
Hi Leute,
hoffe ihr könnt mir weiter helfen.

Ich sehe einfach den Fehler nicht.

Ich habe eine Klasse TglObject mit der Methode:
Delphi-Quellcode:
constructor Create(pglObjectList: TglObjectList; pName: string); virtual;
Und eine zweite Klasse TglFont, welche von der ersten abgeleitet ist.
Sie soll die oberer Methode mit der folgende Methode überschreiben:
Delphi-Quellcode:
Create(pglObjectList: TglObjectList; pName, pFontPath: string; pFontColor: TglColor);
Doch beim erzeugen der Methode, kommt die Fehlermeldung: Diese Form des Methodenaufrufs ist nur für Klassenmethoden erlaubt.

Hier deer Aufruf:
Delphi-Quellcode:
Font := TglFont.Create(Bla.Objects,'Font','./Fonts/Arial.tga', glpurple);
Achja mit override klapt es auch nicht, denn dann wird gemekert, dass sich die Methoden unterscheiden.

Wir das gerade in der Schule durchgenommen, aber ich habe vergessen wie es nochmal ging. :wall:

P.S. last euch von den Parameter nicht verwirren.

Luckie 8. Apr 2007 00:19

Re: Problem beim "ableiten"
 
Deine virtuelle Methode hat zwei Parameter, die neuen aber drei.

Versuch mal das:
Delphi-Quellcode:
constructor Create(..., ..., ...);
inherited Create(.., ...);
...;
...;

Masterj44 8. Apr 2007 00:29

Re: Problem beim "ableiten"
 
Ne, klappt immer noch nicht. (selbe Fehlermeldung)

Ich dachte schon ich wär der einzige der noch wach ist.

Muetze1 8. Apr 2007 00:32

Re: Problem beim "ableiten"
 
1. Ist bei der Ableitung dies auch immernoch ein Constructor und keine Methode wie du es schreibst?
2. Wenn du die alte Methode mit weniger Parametern wirklich verdecken willst, dann nimm statt Override ReIntroduce. Wenn du sie überladen willst, dann Overload.

Ich vermute vor allem, dass du bei der abgeleiteten Klasse das ganze Procedure und nicht mehr Constructor genannt hast, was auch die Fehlermeldung erklären würde...

Masterj44 8. Apr 2007 00:37

Re: Problem beim "ableiten"
 
Bin richtig Blöd :oops: , ich habe procedure Create ... geschrieben und nicht Constructor Create,
ich wusste, dass es nur so ein lächerliches Problem sein könnte. :evil:

Trotzdem danke für eure Bemühungen. :)

Peace.

Du hast recht, kamst mir zuvor.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:29 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