Announcement

Collapse
No announcement yet.

Nicht deklarierter Bezeichner

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Nicht deklarierter Bezeichner

    Hallo.

    Folgendes Problem.
    Ich habe ein Delphi 5 Projekt mit Delphi2007 geöffnet. Läuft alles und lässt sich auch starten.

    Nur habe ich im Fenster Struktur die Fehlermeldungen "nicht deklarierter Bezeichner. Und das für jede Variable, die ich als Structur vereinbart habe. Die Structuren werden auch im Quelltext mit einer roten Schlangen-Linie unterstrichen.

    Auch das Informationsfenster, welches beim Überfahren der Variablen mit der Maus, eingeblendet wird, ist leer.

    Die automatische Vervollständigung der Structur funktioniert aber.

    Deklariert ist die ganze Sache so:

    HTML Code:
           function Kopf_Drucken (iSeitenbreite: integer;
                                   iSeitenhoehe: integer): integer;
        function Ueberlauf_Druckseite_testen (iAktuelle_Hoehenposition: integer;
                                            iTexthoehe: integer;
                                            iDruckbereich_Hoehe: integer;
                                            iDruckbereich_Breite: integer):integer;
      public
        { Public-Deklarationen }
      end;
    
    
      type
    
      TPfade_und_Dateien = record
        strProgrammpfad          :String;
        strAnwendungsdateien     :String;
        strLetzte_Geschossdat_Pf :String;
        strLetzte_Waffendat_Pf   :String;
        strStandard_Tabelle      :String;
          end;
    
      TWert_mit_Einheit = record
        sWert                    :Single;
        iEinheit                 :integer;
      end;
    
      TWind = record
        Geschwindigkeit          :TWert_mit_Einheit;
        iRichtung                :integer;
      end;
    
     
      TMenuestruktur = record
        iMenuepunkte             :array[0..29] of integer;
      end;
    
      TSAM_Einstellungen = record
        Menuestruktur            :TMenuestruktur;
      end;
    
      TNullwerte = record
        bNulldatensatz_vorhanden:boolean;
        bBc_Wert_Ueberschrieben :boolean;
        bGeschgeschw_Ueberschrieben :boolean;
        iRastennummer_Hoehe_Eo  :integer;
        iRastennummer_Seite_Eo  :integer;
        iRastennummer_Hoehe_ES  :integer;
        iRastennummer_Seite_ES  :integer;
        sWinkel_Seite_min_ES    :Single;
        sTemperatur_C           :Single;
        iLuftdruck_hPa          :integer;
        iLuftfeuchte_Prozent    :integer;
        iWindrichtung_Grad      :integer;
        iWindgeschw_m_pro_s     :integer;
      end;
    
      
      
      TAusbildung = record
        iGroesster_Index         :integer;
        iIndexzaehler            :Integer;
        strAnzeige               :array [0..5] of String;
        iMenuelaufzahl           :integer;
        Messwert_Leseindex       :integer;
        bAktiv                   :boolean;
      end;
    
      TProgramm = record
        ComPort                  :String;
        Ausbildung               :TAusbildung;
      end;
    
      TGraf_Einstellungen = record
        Entfernungsdarstellung   :integer;
        iLinienstaerke           :integer;
        coLinienfarbe            :TColor;
        iLinienstaerke_Ziel      :integer;
        coLinienfarbe_Ziel       :TColor;
        coHintergrundfarbe       :TColor;
      end;
    
      TAusbilder_Einstellungen = record
        colMenuefarbe            :TColor;
        colUntermenuefarbe       :TColor;
        colLetzter_Messwert      :TColor;
        colLetzter_SAM_Anzeige   :TColor;
        colLetzter_SAM_Anzeige_aus:TColor;
        iBlinkzeit_ms            :integer;
        iAnzeigenwechsel_Wind_ms :integer;
      end;
    
      TEinstellungen = record
        strSprache               :String;
        iDatensatznummer         :integer;
        iSAM_Adresse             :integer;
        Programm                 :TProgramm;
        Nullwerte                :TNullwerte;
        Ausbilder                :TAusbilder_Einstellungen;
    
        Winkel_bei_Abbruch       :extended;
        Berechnungsabbruch       :boolean;
        Deltarechnung            :boolean;
        Einschiessen             :boolean;
    
      end;
    
      
      TVari = record
        SAM_Einstellungen        :TSAM_Einstellungen;
        Pfade_und_Dateien        :TPfade_und_Dateien;
        Einstellungen            :TEinstellungen;
      end;
    
    var
      Form1: TForm1;
      Vari: TVari;
      bStart_fertig: boolean;
    
    const
      Extension_Menuedatei= 'sme';
    
      Dateiname_Mach_cw_Standard='Mach_cw_Standard';
      Dateiname_Mach_cw_G22='Mach_cw_G22';
      Pause_ms_Datenlesen= 2000;
      Dateiname_Entfernung_Geschw_G22='Entfernung_Geschw_G22';
    
      Anzahl_Nachkommastellen= 4;
     
      Adresse_Turm_Hoehe = 8;
      Adresse_Turm_Seite = 9;
      Adresse_Subcontroller = 10;
      Adresse_Display = 15;
    
    implementation
    
    {$R *.DFM}
    uses Versionsinfo, BackslashAnhaengen,
         User_Verzeichnis, Einstellungen, Einheiten, Formfaktor, Mach_cw_Tabellen,
         Stringumwandlung, Datensatzposition,
         Bitzerlegung, Ausgabe, Windeinstellung, mathe_f,
         Tabellenbearbeitung, Menuewahl, Zahl_zu_String_mit_laenge, Gleit_in_Str;
    
    
    
    //*------------------------- Interne Funktion ---------------------------------
    //*----------------------------------------------------------------------------
    //* Funktionsname       : Programmeinstellungen_laden
    //* Beschreibung        : Aufruf, um die Programmeinstllungen aus der
    //*                       Programm.ini zu lesen.
    //* Eingangsparameter   : Keine
    //*
    //* Ausgangsparameter   : Keine
    //*
    //* Rückgabewert        : Keiner
    //*----------------------------------------------------------------------------
    procedure TForm1.Programmeinstellungen_laden ();
    var
      IniDatei                   :TIniFile;
      bOK                        :boolean;
      bMachtabelle_Fehler        :boolean;
      iZaehler                   :integer;
      strLeser                   :String;
    begin
      bMachtabelle_Fehler:= false;
    
      // Inidatei öffnen.
      IniDatei:=TIniFile.Create (Vari.Pfade_und_Dateien.strAnwendungsdateien +
                                 'Programm.ini');
    
      //Sprache laden.
      Vari.Einstellungen.strSprache:=
                     IniDatei.ReadString('Einstellung', 'Sprache','');


    Es werden also Structuren aufgebaut und in der Variablen "Vari" abgelegt.

    Wenn ich nun Vari schreibe und einen Punkt setze, wird mir die Liste der Structuren angezeigt. Funktioniert auch alles. Nur es werden Fehler gemeldet, die aber beim Compilieren nicht mehr vorhanden sind.

    Es funktioniert zwar alles, aber mittlerweile ist der halbe Quelltext mit roten Schlangenlinien durchzogen.


    Wo liegt hier der Fehler?

    Gruß
    Rasmus
    Zuletzt editiert von Rassi Weigel; 29.04.2008, 14:55. Reason: Unwichtige Infos beseitigt.

  • #2
    Alle Updates eingespielt?

    Comment


    • #3
      Hallo.

      Nein. Habe ich jetzt getan. Aber keine Verbesserung.

      Das Problem scheint zu sein, dass Delphi die Records nicht deklariert ansieht.
      So wird bei jeder Änderung im Quelltext die Überprüfung des Quelltextes neu gestartet und der Editor für mehrere Sekunde lahmgelegt. Und danach isind alle Records rot unterstrichen.

      Mache ich bei der Deklaration der Records etwas falsch?


      Gruß
      Rasmus

      Comment


      • #4
        Hast du mehre Type-Blocks?

        Comment


        • #5
          Hallo.

          Ja die habe ich.
          Bringt aber auch nichts, wenn ich einen gesamten daraus mache.

          Gruß
          Rasmus

          Comment


          • #6
            Hallo,

            wurde die Unit, in der die Struktur deklariert wurde, in das Projekt aufgenommen? Wenn nicht, dann klappt das nicht.

            Mit freundlichem Gruß

            Hans Grigull

            Comment

            Working...
            X