AGB  ·  Datenschutz  ·  Impressum  







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

Abstrakter Fehler

Ein Thema von technofreak · begonnen am 14. Dez 2006 · letzter Beitrag vom 15. Dez 2006
Antwort Antwort
Seite 1 von 2  1 2      
technofreak

Registriert seit: 14. Dez 2006
11 Beiträge
 
Delphi 2005 Personal
 
#1

Abstrakter Fehler

  Alt 14. Dez 2006, 15:29
Habe ein Programm geschrieben (besserer gesagt bin noch dabei) und es läuft. Rufe beim Start das hauptfenseter und ein 2. Fenster auf, wobei das 2. nach Auswahl per RadioButton und "Weiter" gschlossen wird. Wenn ich jetzt dem Hauptfenster ein Button, Label RadioButton oder RadioButtonGroup (andere noch nicht probiert) hinzufüge und das Programm laufen lasse bricht es nach dem Schließen des 2. Fensters mit "Abstrakter Fehler" ab, eagl ob ich die Elemente noch mit Code belege oder nicht. Woran kann das liegen?

Falls jemand da was weiß würde ich mich freuen an dem Wissen teilhaben zu dürfen.

technofreak
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Abstrakter Fehler

  Alt 14. Dez 2006, 15:35
Wie rufst du das 2. fenster auf? Bzw. hast du dieses erzeugt?
Markus Kinzler
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Abstrakter Fehler

  Alt 14. Dez 2006, 15:38
Moin technofreak,

erst einmal herzlich willkommen hier in der Delphi-PRAXiS.

Die Meldung "Abstrakter Fehler" tritt auf, wenn man von einer abstrakten Klasse (z.B. TStrings) eine Instanz bildet (Create) und dann eine der abstrakten Methoden verwendet.
Abstrakt heisst:
Es wird eine Methode deklariert, aber mit dem Schlüsselwort abstract versehen, das dem Compiler anzeigt, dass diese Klasse nur die Deklaration der Methode enthält, aber keine Implementierung.
I.d.R. sollte man von abstrakten Klassen keine Instanzen bilden, sondern nur von davon abgeleiteten Klassen, bei denen die abstrakten Methoden "mit Leben gefüllt" wurden.

Abstrakte Klassen kann man aber, z.B., als Parametertyp angeben.
Um bei TStrings zu bleiben:
Wird TStrings als Parametertyp angegeben, kann man sowohl etwas vom Typ TStringList, als auch TMemo.Lines übergeben, da beide von TStrings abstammen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  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
 
#4

Re: Abstrakter Fehler

  Alt 14. Dez 2006, 15:42
Man kann von TStrings sehr wohl eine Instanz erstellen. Aber man kriegt eine Warnung. Einen abstrakten Fehler kriegt man, wenn man eine abstrakte Methode aufruft.
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
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Abstrakter Fehler

  Alt 14. Dez 2006, 15:50
Moin Manuel,

hab' ich was anderes geschrieben
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
technofreak

Registriert seit: 14. Dez 2006
11 Beiträge
 
Delphi 2005 Personal
 
#6

Re: Abstrakter Fehler

  Alt 14. Dez 2006, 15:51
@ mkinzler

Setze beim 2. Fenster beim Start Visble auf True und fsstayontop auch. Damit steht das 2. Fenster vor dem Hauptfenster. Is zwar nicht aktiv, aber is egal weil wird es ja wenn ich da was anklicke.
Im Hauptprogramm steht 3 mal Create.Form 1. Hauptfenster, 2. AboutBox, 3. Form1


@ Christian Seehase

Hab ich schon öfter von gelesen. Benutze ich aber nicht. Wie gesagt das Programm läuft, und wenn ich dann z.B. nen Label hinzufüge und dann wieder laufen lasse kommt der Fehler. Dabei ist das Label nur ne Beschriftung, wird im Code nirgends angesprochen.
  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
 
#7

Re: Abstrakter Fehler

  Alt 14. Dez 2006, 15:52
@Seehase:
Sorry, habs zwar vorsichtshalber mehrmals durchgelesen, aber trotzdem die 2. Zeile übersehen...
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
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Abstrakter Fehler

  Alt 14. Dez 2006, 15:55
Moin Technofreak,

die Fehlermeldung ist eigentlich eindeutig.

Hast Du mal versucht das Fenster im Einzelschritt zu schliessen?
Dazu könntest Du, nur zum Testen, mal ein OnClose bzw. OnCloseQuery einbauen, um möglichst spät einen Breakpoint setzen zu können.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
technofreak

Registriert seit: 14. Dez 2006
11 Beiträge
 
Delphi 2005 Personal
 
#9

Re: Abstrakter Fehler

  Alt 14. Dez 2006, 15:57
Hab mit Einzelschritt schon versucht. Macht das 2. fenster zu, dann FEHLER.
  Mit Zitat antworten Zitat
technofreak

Registriert seit: 14. Dez 2006
11 Beiträge
 
Delphi 2005 Personal
 
#10

Re: Abstrakter Fehler

  Alt 15. Dez 2006, 07:48
Hab grad noch mal getestet.

Programm seit gestern nicht verändert, gestern lief es heut "Abstrakter Fehler".

Einen Button entfernt, gespeichert, compiliert -> lief.
Mit STRG+Z rückgängig gemacht, gespeichert, compiliert ->lief.

Kann das jemand nachvollziehen?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 04:50 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