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 ?