Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi E2217 Pub.-Feld '..' ist weder vom Typ class noch interface (https://www.delphipraxis.net/126855-e2217-pub-feld-ist-weder-vom-typ-class-noch-interface.html)

moelski 3. Jan 2009 18:10


E2217 Pub.-Feld '..' ist weder vom Typ class noch interface
 
Moin !

Ich habe hier ein Problem was sich mir nicht erschließt. Und ich bin mir auch nicht so ganz sicher ob das nicht sogar ein D2009 Bug ist ...

Also ich habe da eine Unit die folgendermassen startet:
Delphi-Quellcode:
unit TreeUtils;

interface

Uses SysUtils, Windows, ComCtrls, CommCtrl, Forms, Dialogs, Classes,
     GlobalUtils;

function AddNode_Device       (TV  : TTreeView) : TTreeNode;
....
function Node_Exists          (Node : TTreeNode): Boolean;

type TLVObjectTyp = ( ID_TrashNode,
                      ID_Device,
                      ID_DataSet_Graphic,
                      ID_DataSet_Channel,
                      ID_Normal_Graphic,
                      ID_RTF,
                      ID_Text,
                      ID_Seperator
                    );

type
  TNodeInfo = class
     NodeTyp        : TLVObjectTyp;
     NodeParent     : TTreeNode;            
     NodeExpanded   : Boolean;              
     NodeSelected   : Boolean;              
     MDIFile        : String;
     MDIChild       : TForm;
     MDIChildVisible : Boolean;
     MDIChild_X,
     MDIChild_Y,
     MDIChild_Width,
     MDIChild_Height : Integer;
     Channel        : Word;              
  end;

implementation
Soweit so gut. Das kann ich auch in ca. 80% alle Compiliervorgänge sauber compilieren ohne das der Compiler spuckt. Und das sowohl in der Build-Konfiguration "Debug" UND "Release".

Nur ab und an meint der Compiler dann zu spinnen. Und dann kriege ich das hier:
Zitat:

[DCC Fehler] TreeUtils.pas(42): E2217 Published-Feld 'NodeTyp' ist weder vom Typ class noch interface
[DCC Fehler] TreeUtils.pas(45): E2217 Published-Feld 'NodeExpanded' ist weder vom Typ class noch interface
[DCC Fehler] TreeUtils.pas(46): E2217 Published-Feld 'NodeSelected' ist weder vom Typ class noch interface
[DCC Fehler] TreeUtils.pas(47): E2217 Published-Feld 'MDIFile' ist weder vom Typ class noch interface
[DCC Fehler] TreeUtils.pas(49): E2217 Published-Feld 'MDIChildVisible' ist weder vom Typ class noch interface
[DCC Fehler] TreeUtils.pas(53): E2217 Published-Feld 'MDIChild_X' ist weder vom Typ class noch interface
[DCC Fehler] TreeUtils.pas(57): E2217 Published-Feld 'Channel' ist weder vom Typ class noch interface
Wenn ich dann in der Build-Konfiguration einmal wechsele von Debug auf Release, dann compiliere und wieder zurück wechsele und neu compiliere gehts wieder für ein paar mal. :?:

Also ich finde das ziemlich dubios. Wenn es jetzt ein grundlegender Fehler wäre oder aber eine Warnung des Compilers könnte ich das alles nachvollziehen, aber warum zum Henker kommt die Meldung einfach mal zwischendurch?!

Kann sich da jemand einen Reim drauf machen ?

jbg 3. Jan 2009 18:17

Re: E2217 Pub.-Feld '..' ist weder vom Typ class noch interf
 
Zitat:

Zitat von moelski
Kann sich da jemand einen Reim drauf machen ?

Möglicherweise wird beim Wechsel der Build-Konfiguration ein Compiler-Reset durchgeführt, der die globalen Variablen im Compiler (dcc70.dll) wieder zurücksetzt, so dass sie auf gültige Daten zeigen.

Dust Signs 3. Jan 2009 18:20

Re: E2217 Pub.-Feld '..' ist weder vom Typ class noch interf
 
Hört sich fast nach einem Bug an, aber versuch doch mal, das type in Zeile 22 zu entfernen.

Dust Signs

moelski 3. Jan 2009 20:56

Re: E2217 Pub.-Feld '..' ist weder vom Typ class noch interf
 
Moin !

Zitat:

das type in Zeile 22 zu entfernen
Kompilieren geht. Aber ich hatte den Fehler doch schon mal wieder. Werde es aber weiter beobachten.

Wie und wo könnte ich den einen solchen Fehler reporten?

Dust Signs 3. Jan 2009 21:06

Re: E2217 Pub.-Feld '..' ist weder vom Typ class noch interf
 
Zitat:

Zitat von moelski
Wie und wo könnte ich den einen solchen Fehler reporten?

Im Qualitycenter von Codegear vielleicht?

Dust Signs


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