Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Eingener Destructor erzeugt Hinweis (https://www.delphipraxis.net/111488-eingener-destructor-erzeugt-hinweis.html)

Viktorii 4. Apr 2008 08:45


Eingener Destructor erzeugt Hinweis
 
Hallo,

ich habe mir zum ersten Mal einen eigenen Destructor für meine Klasse gemacht:

Delphi-Quellcode:
type
  TSendCommandThread = class(TCommandThread)
  private
    ...
  protected
    procedure Execute; override;
  public
    constructor create();
    destructor destroy(); override;
  end;

...
...

destructor TSendCommandThread.destroy;
begin
  ...

  inherited destroy;
end;
Allerdings gibt mir Delphi beim kompilieren einen Hinweis raus:

Zitat:

[Pascal Hinweis] xyz.pas(31): H2365 Schreibweise der Überschreiben-Methode TSendCommandThread.destroy muss exakt ihrem Vorfahren TThread.Destroy entsprechen
Was genau habe ich falsch gemacht? Ist bestimmt ne einfache Sache aber ich komme nicht drauf... :?

Vielen Dank

Relicted 4. Apr 2008 08:52

Re: Eingener Destructor erzeugt Hinweis
 
schau dir mal den destructor der basisklasse an.. scheinbar sieht der etwas anders aus.

edit:
schreib mal das "destroy" mit einem großen "D" - dann klappts habs gerade mal getestet.

gruß
reli

RavenIV 4. Apr 2008 09:04

Re: Eingener Destructor erzeugt Hinweis
 
Zitat:

Zitat von Relicted
schreib mal das "destroy" mit einem großen "D" - dann klappts habs gerade mal getestet.

Was soll das?
Delphi ist caseinsentive.
Dem Delphi ist es wurscht, ob Gross- oder Kleinschreibung.

xaromz 4. Apr 2008 09:13

Re: Eingener Destructor erzeugt Hinweis
 
Hallo,
Zitat:

Zitat von RavenIV
Was soll das?
Delphi ist caseinsentive.
Dem Delphi ist es wurscht, ob Gross- oder Kleinschreibung.

deshalb ist es ja auch nur ein Hinweis. Das dient einzig der Sauberkeit, und wer weiß, vielleicht wird Delphi ja casesensitiv :schauder:

Gruß
xaromz

Relicted 4. Apr 2008 09:21

Re: Eingener Destructor erzeugt Hinweis
 
keine ahnung raven was das soll.. ist aber scheinbar so .. warum auch immer. hatte es nur gerade mal getestet weil ich sowieso ne TThread klasse offen hatte und da is mir das dann auch aufgefallen *shrug*

DeddyH 4. Apr 2008 09:21

Re: Eingener Destructor erzeugt Hinweis
 
Diesen Effekt kann ich bestätigen, hatte ich neulich auch. Unter Delphi 7 war das noch Wurscht, Delphi 2007 brachte dann diesen Hinweis.

RavenIV 4. Apr 2008 09:23

Re: Eingener Destructor erzeugt Hinweis
 
DeddyH, Relicted:
Habt ihr was geraucht oder schlecht geschlafen?

Oder hab ich das falsch verstanden?

DeddyH 4. Apr 2008 09:25

Re: Eingener Destructor erzeugt Hinweis
 
Ich weiß doch auch nicht, was das soll. Delphi sagte mir, die Schreibweise sei unterschiedlich und der einzige Unterschied war halt das große D. Nach Änderung war der Hinweis fort.

Relicted 4. Apr 2008 09:29

Re: Eingener Destructor erzeugt Hinweis
 
Liste der Anhänge anzeigen (Anzahl: 2)
Raven guggsu jpegs

Bernhard Geyer 4. Apr 2008 09:31

Re: Eingener Destructor erzeugt Hinweis
 
Da der Delphi-Source ja auch im C++-Builder verwendet werden kann sind solche Hinweise sehr sinnvoll damit es nicht bei der Verwendung erst mal Fehlermeldungen hagelt.

RavenIV 4. Apr 2008 09:53

Re: Eingener Destructor erzeugt Hinweis
 
Zitat:

Zitat von Bernhard Geyer
Da der Delphi-Source ja auch im C++-Builder verwendet werden kann sind solche Hinweise sehr sinnvoll damit es nicht bei der Verwendung erst mal Fehlermeldungen hagelt.

Das lass ich gelten.
Delphi selber ist sonst nicht so "pingelig".

Viktorii 4. Apr 2008 10:12

Re: Eingener Destructor erzeugt Hinweis
 
Das war es :) Vielen Dank. :dp:

Sharky 4. Apr 2008 15:01

Re: Eingener Destructor erzeugt Hinweis
 
Zitat:

Zitat von RavenIV
DeddyH, Relicted:
Habt ihr was geraucht oder schlecht geschlafen?...

Hai RavenIV,

kannst Du solche Kommentare in Zukunft bitte unterlassen.

Nur wei DIR die Meldung nichts sagt musst Du hier niemanden "anmachen".

Wenn Du das nicht akzeptierst hast Du nicht verstanden wie die Mitglieder der DP miteinander umgehen.

Denke bitte mal darüber nach.

Namenloser 4. Apr 2008 15:06

Re: Eingener Destructor erzeugt Hinweis
 
Also ich kenne das gar nicht anders :gruebel: Liegt vielleicht daran, dass ich erst mit Delphi2005 richtig angefangen hab "professionell" zu programmieren. Gibt aber auch Schlimmeres, als ab und zu mal nen Buchstaben anzupassen. Und wenn man es erstmal richtig deklariert zhat, ist es ja egal.

mkinzler 4. Apr 2008 15:08

Re: Eingener Destructor erzeugt Hinweis
 
Das ist auch seit es den C-Builder gibt so.

Relicted 4. Apr 2008 15:17

Re: Eingener Destructor erzeugt Hinweis
 
is mir irgendwie nie aufgefallen.. vielleicht hab ich es auch immer direkt richtig geschrieben. kP..
hatte mich auch erst gewundert die frage aber nach dem testen habe ich dann gemerkt: "jo stimmt ja".

Muetze1 4. Apr 2008 17:45

Re: Eingener Destructor erzeugt Hinweis
 
Hinweis: Diese Meldung gibt es zum Beispiel nicht, wenn man bei einer Komponente eine "Register" Procedure anlegt und diese klein schreibt. Nachteil: sie wird nicht aufgerufen! Borland hat mit spätestens BDS2006 den Linker angepasst. Die Register Procedure wird nur aufgerufen, wenn sie wirklich "Register" heißt und nicht anders.

Dieses "Problem" habe ich nach diesem Hinweis beim Destructor schnell ermitteln und beheben können, aber es ist auch nicht explizit dokumentiert. Vor allem da es bei der o.g. Procedure keine Warnung/Hinweis gibt, steht man schnell im Dunkeln.

Und zum eigentlichen was ich erwähnen wollte: Ich hatte damals bei der Suche nach dem Problem einen Hinweis gefunden, dass diese Änderungen von CodeGear aufgrund von .NET gemacht.


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