Abstract method called ?
-
- Beiträge: 40
- Registriert: Mo 4. Aug 2008, 09:25
- OS, Lazarus, FPC: WinXP(L 0.9.29SVN FPC 2.4.1)
- CPU-Target: xxBit
- Wohnort: CH
Abstract method called ?
Hallo Leute,
bin am übersetzen einer Komponenten-Sammlung und erhalten nun einen "Abstract method called" Error.
Mir ist klar, dass irgendwo in einer abgeleiteten Klasse eine Implementation einer Methode erwartet wird.
Nun die Frage:
Wäre es evtl. möglich, statt der Fehlermeldung "Abstract Error" evtl. auch die Information anzuzeigen, um welche Klasse es sich handelt?
Würde mir die Sucherei erleichtern.
Also hier ein bisschen mehr Infos mitgeben ?
211 : E:=EAbstractError.Create(SAbstractError);
Was meint ihr dazu ?
Gruss Sämi
bin am übersetzen einer Komponenten-Sammlung und erhalten nun einen "Abstract method called" Error.
Mir ist klar, dass irgendwo in einer abgeleiteten Klasse eine Implementation einer Methode erwartet wird.
Nun die Frage:
Wäre es evtl. möglich, statt der Fehlermeldung "Abstract Error" evtl. auch die Information anzuzeigen, um welche Klasse es sich handelt?
Würde mir die Sucherei erleichtern.
Also hier ein bisschen mehr Infos mitgeben ?
211 : E:=EAbstractError.Create(SAbstractError);
Was meint ihr dazu ?
Gruss Sämi
Re: Abstract method called ?
Gibt der Compiler keine Warnung aus, wie:
unit1.pas(34,20) Warning: Constructing a class "TStrings" with abstract methods
?
unit1.pas(34,20) Warning: Constructing a class "TStrings" with abstract methods
?
-
- Beiträge: 40
- Registriert: Mo 4. Aug 2008, 09:25
- OS, Lazarus, FPC: WinXP(L 0.9.29SVN FPC 2.4.1)
- CPU-Target: xxBit
- Wohnort: CH
Re: Abstract method called ?
Nein leider nicht. Sonst wäre das schon wesentlich einfacher zu finden.
Re: Abstract method called ?
Debugger? Durch den Code steppen? Call Stack? Bringt alles nix?
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: Abstract method called ?
ich glaube hier versuchst du in einer abgeleiteten Klasse eine geerbte Methode aufzurufen die jedoch als Abstract Definiert wurde.Abstract method called
Abstracte Methoden können nicht aufgerufen werden von einer geerbten Klasse. Beispiel:
Code: Alles auswählen
TMeineClasse = class
public
procedure meinemethode; Abstract; Virtual
TMeineClasse2=Class(TMeineClasse)
public
procedure meinemethode; Override
....
procedure TMeineClasse2.meinemethode;
begin
// Aufruf von der Geerbten Methode -> Führt zur Fehler Meldung(würde ich sagen)
end;
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 40
- Registriert: Mo 4. Aug 2008, 09:25
- OS, Lazarus, FPC: WinXP(L 0.9.29SVN FPC 2.4.1)
- CPU-Target: xxBit
- Wohnort: CH
Re: Abstract method called ?
Danke,Danke,Danke.
Mir ist absolut klar was die Fehlermeldung bedeutet!
Ich werde den Fehler auch finden, da habe ich keine bedenken.
Aber für weniger geübte Personen bringt halt die Fehlermeldung "Abstract method called" nicht wirklich viel.
In meinem Fall befindet sich das Problem irgendwo im "Design-Time-Code".
Also irgendwo beim platzieren/verschieben/vergrössern einer Komponente im Designer.
Und eigentlich habe ich eine andere Frage gestellt:
Die Frage lautet:
Wäre es möglich, dass die Fehlermeldung erweitert wird und etwas mehr Informationen anzeigt ?
Sämi
Mir ist absolut klar was die Fehlermeldung bedeutet!
Ich werde den Fehler auch finden, da habe ich keine bedenken.
Aber für weniger geübte Personen bringt halt die Fehlermeldung "Abstract method called" nicht wirklich viel.
In meinem Fall befindet sich das Problem irgendwo im "Design-Time-Code".
Also irgendwo beim platzieren/verschieben/vergrössern einer Komponente im Designer.
Und eigentlich habe ich eine andere Frage gestellt:
Die Frage lautet:
Wäre es möglich, dass die Fehlermeldung erweitert wird und etwas mehr Informationen anzeigt ?
Sämi
- Dateianhänge
-
- abstract_method_called.JPG (9.63 KiB) 1913 mal betrachtet
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Re: Abstract method called ?
Ja wenn du sie abfängst mittels Exception Handling und einen Stacktrace anhängst dann bekommst gleich noch die Aussage mit wo genau in deinem Code die aufgetreten ist sofern Debugsymbole im Executable sind...
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
- af0815
- Lazarusforum e. V.
- Beiträge: 6881
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Abstract method called ?
Das wird sein Problem sein. Ich sehe da nur den Ausweg, die entsprechenden Bilbilothen mit debuginfomation zu erstellen. Wird aber heissen, die fcl mit debuinfos zu übersetzen. Denn bei der lcl ist es ja nicht das Problem.Christian hat geschrieben:.. ist sofern Debugsymbole im Executable sind...
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Re: Abstract method called ?
De lcl reicht im normalfall völlig.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/