![]() |
Undeclared Identifier
Hi Leute!
Bin heute mal wieder nicht so fit, daher wieder eine etwas dumme Frage: Beim Compiliren erhalte ich die Meldung "Undeclared identifier: 'speichern'". Die Funktion "speichern" ist in einer anderen Unit eingetragen, auf die aber in der Hupt-Unit verwiesen wird.
Delphi-Quellcode:
Und hier die zweite Unit:
unit UnitHaupt;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, unittype, unitfunc, Menus, ExtCtrls, StdCtrls, ActnList, StdActns; type TForm1 = class(TForm) MainMenu1: TMainMenu; Datei1: TMenuItem; Speichern1: TMenuItem; Laden1: TMenuItem; Drucken1: TMenuItem; Beenden1: TMenuItem; Extras1: TMenuItem; Editor1: TMenuItem; Legende1: TMenuItem; PanHalle01: TPanel; PanLab1: TLabel; PanLab1T: TLabel; THLPan1: TImage; SchlPan1: TImage; procedure SndPan2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Speichern1Click(Sender: TObject); procedure PanHalle03MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); {Menüleiste - Menü "Datei"} procedure TForm1.Speichern1Click(Sender: TObject);//Menüpunkt "Speichern" var i: Byte; begin for i := 1 to MaxHallen do begin speichern('PanHalle' + IntToStr (i)); end; end;
Delphi-Quellcode:
unit UnitFunc;
interface uses SysUtils, ExtCtrls, Controls, Graphics; {Standard-Units auf die zurückgegriffen wird} procedure Farbewechseln (Sender: TPanel; Button: TMousebutton); function Zeitangabe:string; function THL (Sender: TImage; Button: TMousebutton; Bild: boolean): boolean; function Sound (Sender: TImage; Button: TMousebutton; Bild: boolean): boolean; function Schloss (Sender: TImage; Button: TMousebutton; Bild: boolean): boolean; procedure speichern (Hname, Zeit, HFarbe: string; Schl, THL, Sound:boolean); implementation procedure speichern (Hname, Zeit, HFarbe: string; Schl, THL, Sound:boolean); var save: Textfile; begin AssignFile (save, 'zustand.hbl'); {$i-} Append (save){$i+} if IOResult <> 0 then begin showmessage ('Die Datei "Zustand.hbl" wurde nicht gefunden!'); exit; end; writeln (Save, TimeToStr(now) +';'+ HName +;+ Zeit +;+ HFarbe +;+ BoolToStr(Schl) +;+ BoolToStr (THL) +;+ BootToStr (Sound)); closeFile(Save); end; |
Die Units befinden sich wahrscheinlich nicht im selben Verzeichnis. Die eine ist bestimmt bei Projects oder so. Ansonsten stimmt das da nämlich so.
|
War auch mein erster Gedanke, daran kann es nicht liegen, sie befinden sich alle im gleichen Verzeichnis. Interessanter Weise hab ich noch weitere Funktionen die auf die Unit zurückgreifen, aber die funktionieren alle...
|
Im UnitHaupt fehlt wohl Uses UnitFunc;
|
Ist eingetragen, sonst würden die anderen Funktionen ja auch nicht funktionieren (im oberen Quellcode unter uses in der 3.Zeile der 3.Eintrag)
Also, wenn ich jetzt eine neue Funktion eintrage klappt die auch nicht mehr - auch "undeclared Identifier"... |
Dann lösche mal alle UnitFunc.dcu Dateien, die du auf deiner Platte findest.
|
Ok, jetzt funzt es...Danke!
|
Wieso lag es an den dcu files ?? :shock:
|
Delphi wird sie nicht neu erstellt haben. Kann passieren.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz