AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi inherited Free; <-- warum kommt da eine exeption?!
Thema durchsuchen
Ansicht
Themen-Optionen

inherited Free; <-- warum kommt da eine exeption?!

Ein Thema von yankee · begonnen am 20. Jan 2006 · letzter Beitrag vom 22. Jan 2006
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Khabarakh
Khabarakh

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

Re: inherited Free; <-- warum kommt da eine exeption?!

  Alt 20. Jan 2006, 16:16
Zitat von mh166:
Zitat von DevilsCamp:
Ich meinte damit:
Wenn man eine Klasse erstellt, dann soll man den Destructor Destroy überschreiben und nicht Free zu einem Destructor machen.
Thx 4 info. Bis jetzt hab ich auch immer Free überschrieben...
Sollte eigentlich daran ersichtlich sein, dass Free überhaupt nicht überschrieben werden kann .

@yankee: Das liegt sicher nicht an der Modifikation. Schau nochmal genau deine uses-Klauseln durch.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#12

Re: inherited Free; <-- warum kommt da eine exeption?!

  Alt 20. Jan 2006, 23:55
Zitat von Khabarakh:
@yankee: Das liegt sicher nicht an der Modifikation. Schau nochmal genau deine uses-Klauseln durch.
Ich habe die mir jetzt 10 mal durchgelesen und mit der qt-Suche den Quelltext nach weiteren uses durchsucht, damit ich wirklich nichts übersehe usw.
Ich check' das einfach nicht...
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#13

Re: inherited Free; <-- warum kommt da eine exeption?!

  Alt 21. Jan 2006, 12:22
Hallo,

das Problem hatte ich auch ab und zu. Meistens hilft dann ein komplettes Erstellen des Programms (nicht nur ein Compilieren des Geänderten). Manchmal muss man auch einfach die Unit verändern (z. B. ein Zeichen einfügen, das Zeichen wieder löschen und dann speichern). Danach klappt's dann wieder.
Ist wohl ein Bug im Compiler.

Gruß
xaromz
  Mit Zitat antworten Zitat
Benutzerbild von mh166
mh166

Registriert seit: 14. Nov 2004
Ort: Chemnitz
443 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#14

Re: inherited Free; <-- warum kommt da eine exeption?!

  Alt 21. Jan 2006, 21:52
Zitat von Khabarakh:
Sollte eigentlich daran ersichtlich sein, dass Free überhaupt nicht überschrieben werden kann .
Hmm... Das ich das nich gemerkt hab liegt - wie ich gerade noch mal nachgeguckt hab - daran, dass ich bis jetzt immer von TObject "abgelitten" (wie heißt das eigentlich richtig? ) hab. Und das hat gar keine Free-Procedure. Aber mein inherited; hat er bis jetzt immer anstandslos akzeptiert.

mfg, mh166
Tiefgründige Sätze unserer Zeit:
Zitat von Luckie:
Und diesen Token zur Laufzeit zu modifizieren würde bedeuten, dass du zur laufzeit das Token ändern musst.
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#15

Re: inherited Free; <-- warum kommt da eine exeption?!

  Alt 21. Jan 2006, 21:54
Zitat von mh166:
[...]von TObject "abgelitten" (wie heißt das eigentlich richtig? )
Nein, es heißt "abgeleitet"
Oder hat es was mit leiden zu tun?
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#16

Re: inherited Free; <-- warum kommt da eine exeption?!

  Alt 21. Jan 2006, 21:59
Zitat von malo:
Zitat von mh166:
[...]von TObject "abgelitten" (wie heißt das eigentlich richtig? )
Nein, es heißt "abgeleitet"
Oder hat es was mit leiden zu tun?
Manchmal schon...
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#17

Re: inherited Free; <-- warum kommt da eine exeption?!

  Alt 21. Jan 2006, 22:00
Hallo,
Zitat von mh166:
Hmm... Das ich das nich gemerkt hab liegt - wie ich gerade noch mal nachgeguckt hab - daran, dass ich bis jetzt immer von TObject "abgelitten" (wie heißt das eigentlich richtig? ) hab. Und das hat gar keine Free-Procedure. Aber mein inherited; hat er bis jetzt immer anstandslos akzeptiert.
Inherited kann in jeder Methode stehen. Wenn es keine Vorfahr-Methode gibt, passiert eben nichts.
Übrigens steht in der System.pas:
Delphi-Quellcode:
procedure TObject.Free;
begin
  if Self <> nil then
    Destroy;
end;
Ist also wohl doch in TObject definiert.

Gruß
xaromz
  Mit Zitat antworten Zitat
DevilsCamp
(Gast)

n/a Beiträge
 
#18

Re: inherited Free; <-- warum kommt da eine exeption?!

  Alt 21. Jan 2006, 23:11
Zitat von mh166:
Hmm... Das ich das nich gemerkt hab liegt - wie ich gerade noch mal nachgeguckt hab - daran, dass ich bis jetzt immer von TObject "abgelitten" (wie heißt das eigentlich richtig? ) hab. Und das hat gar keine Free-Procedure.
mfg, mh166
Doch hat es...
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

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

Re: inherited Free; <-- warum kommt da eine exeption?!

  Alt 22. Jan 2006, 10:40
Du hast wohl TObject.Free nur überdeckt (was fatale Auswirkungen haben kann) und nicht überschrieben. Letzteres ist wie gesagt nicht möglich und wird mit einem Compilerfehler quittiert.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von mh166
mh166

Registriert seit: 14. Nov 2004
Ort: Chemnitz
443 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#20

Re: inherited Free; <-- warum kommt da eine exeption?!

  Alt 22. Jan 2006, 15:00
Naja, nun weiß ichs und gelobe Besserung.

mfg, mh166
Tiefgründige Sätze unserer Zeit:
Zitat von Luckie:
Und diesen Token zur Laufzeit zu modifizieren würde bedeuten, dass du zur laufzeit das Token ändern musst.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 10:09 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