Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Variable wird nicht erkannt (https://www.delphipraxis.net/51764-variable-wird-nicht-erkannt.html)

PASST 18. Aug 2005 11:05


Variable wird nicht erkannt
 
Delphi 4 (update 3)

Ich habe ein Projekt, welches aus mehreren Units besteht, s. Code.

Delphi-Quellcode:
program Etikettendruck;

uses
  Forms,
  uMain in 'uMain.pas' {FMain},
  uArtikeletiketten in 'uArtikeletiketten.pas' {FArtikeletiketten},
  uUGAEtiketten in 'uUGAEtiketten.pas' {FUGAEtiketten},
  uAufbereitungsetiketten in 'uAufbereitungsetiketten.pas' {FAufbereitungsetiketten},
  uBarcodeetiketten in 'uBarcodeetiketten.pas' {FBarcodeetiketten},
  uPacklisten in 'uPacklisten.pas' {FPacklisten},
  uPacklistenetiketten in 'uPacklistenetiketten.pas' {FPacklistenetiketten},
  uPacklistenFreeReport in 'uPacklistenFreeReport.pas' {FPacklistenFreeReport},
  uDataUnit in 'uDataUnit.pas' {FData: TDataModule};

{$R *.RES}

begin
  Application.Initialize;
  Application.Title := 'Etikettendruck';
  Application.CreateForm(TFData, FData);
  Application.CreateForm(TFMain, FMain);
  Application.CreateForm(TFPacklistenFreeReport, FPacklistenFreeReport);
  Application.Run;
end.
In uMain deklariere ich die globale Variable lOnFilter, auf die ich in uDataUnit und uPacklisten zugreifen möchte. In beiden Units habe ich 'uses FMain' eingetragen und spreche die Variable auch per FMain.lOnFilter korrekt an.
Beim Compilieren des Projekts erhalte ich jedoch in beiden Units den Fehler 'Undefinierter Bezeichner lOnFilter'.

Wie was warum?
Ich bin am Verzweifeln. Es kann nur ein ganz dummer Fehler sein!

Gru
Peter

schöni 18. Aug 2005 11:11

Re: Variable wird nicht erkannt
 
Hallo PASST!

Ist auch ein ganz dummer Fehler. Lies folgende Zeile:

Delphi-Quellcode:
 uMain in 'uMain.pas' {FMain},
Du sagst, dass in FMain die besagte Variable definiert ist, Richtig. Sieh Dir obige Zeile an. Da ist FMain auskommentiert. Kontrollier noch mal die beiden anderen Units!

Gruß

Schöni

Die Muhkuh 18. Aug 2005 11:13

Re: Variable wird nicht erkannt
 
Hi,

du sollst auch umain in die uses eintragen und nicht fmain ;)

PASST 18. Aug 2005 11:16

Re: Variable wird nicht erkannt
 
sorry, das hat sich der Fehlerteufel eingeschlichen.

Natürlich habe ich "uses uMain" dort stehen - btw ich habe es Delphi selbst einfügen lassen!

Die Muhkuh 18. Aug 2005 11:23

Re: Variable wird nicht erkannt
 
Delphi trägt die Units im Implementationsteil ein. Wenn du im Interfaceabschnitt diese Variable benötigst, dann musst du die Unit im Interface-Uses eintragen.

PASST 18. Aug 2005 11:36

Re: Variable wird nicht erkannt
 
Das ist mir jetzt schon peinlich.
Ich hatte die Variable nicht in der Public-Deklaration stehen, sondern dort wo die Form deklariert ist. Wie nennt man diesen Teil denn?

Aenogym 18. Aug 2005 11:41

Re: Variable wird nicht erkannt
 
Zitat:

Zitat von PASST
Das ist mir jetzt schon peinlich.
Ich hatte die Variable nicht in der Public-Deklaration stehen, sondern dort wo die Form deklariert ist. Wie nennt man diesen Teil denn?

wenn es das ist, was ich glaube, dann meinst du den private-teil ;)

aneogym

BlackJack 18. Aug 2005 16:11

Re: Variable wird nicht erkannt
 
naja ich denke er meint eher der implementation-Abschnitt einer Unit.

Pr0g 18. Aug 2005 16:16

Re: Variable wird nicht erkannt
 
Zitat:

Zitat von BlackJack
naja ich denke er meint eher der implementation-Abschnitt einer Unit.

Also ne globale Variable. :-D

BlackJack 18. Aug 2005 16:21

Re: Variable wird nicht erkannt
 
Zitat:

Zitat von Pr0g
Zitat:

Zitat von BlackJack
naja ich denke er meint eher der implementation-Abschnitt einer Unit.

Also ne globale Variable. :-D

jo. obwohl, eine variable im implementation-Teil einer Unit ist ja auch Global (zumindest in dieser Unit ;) )


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:24 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-2025 by Thomas Breitkreuz