Compiler findet Komponenten nicht
Compiler findet Komponenten nicht
Hallo
Ich schreibe eine Anwendung mit mehreren Formularen. In diese hat es unter anderem einige TEdit-Komponenten. Im Code steht irgendwo:
EdDatum.Text:='12.8.2025';
Beim compilieren wird bei dieser Zeile "Identifier not found "EdDatum" angezeigt.
Wenn ich Formx.EdDatum.Text:='12.8.2025'; schreibe, dann kommt keine Fehlermeldung.
In der gleichen Anwendung in einem anderen Formular kommt keine Fehlermeldung mit EdIrgenwas.Text:='XXX' ohne Angabe des Formularnamens.
Was mach ich falsch?
			
			
									
									
						Ich schreibe eine Anwendung mit mehreren Formularen. In diese hat es unter anderem einige TEdit-Komponenten. Im Code steht irgendwo:
EdDatum.Text:='12.8.2025';
Beim compilieren wird bei dieser Zeile "Identifier not found "EdDatum" angezeigt.
Wenn ich Formx.EdDatum.Text:='12.8.2025'; schreibe, dann kommt keine Fehlermeldung.
In der gleichen Anwendung in einem anderen Formular kommt keine Fehlermeldung mit EdIrgenwas.Text:='XXX' ohne Angabe des Formularnamens.
Was mach ich falsch?
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1698
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: Compiler findet Komponenten nicht
Das kommt daher, daß der Zugriff außerhalb einer Formularmethode statt findet.
			
			
									
									
						Re: Compiler findet Komponenten nicht
Hallo
Die erwähnte Zuweisung (EdDatum.Text:='12.8.2025';) steht in einer Procedure. Diese ist in TFormX unter "public" eingetragen. Was hest in deinem Betrag "außerhalb einer Formularmethode "?
Gruss
Uli
			
			
									
									
						Die erwähnte Zuweisung (EdDatum.Text:='12.8.2025';) steht in einer Procedure. Diese ist in TFormX unter "public" eingetragen. Was hest in deinem Betrag "außerhalb einer Formularmethode "?
Gruss
Uli
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1698
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: Compiler findet Komponenten nicht
Schick mal Code zum Nachvollziehen. Irgendsowas muss es sein.
			
			
									
									
						Re: Compiler findet Komponenten nicht
Hallo 
Hier der Code, wo die Fehlermeldungen auftauchen.:
 
Gruss
Uli
			
			
									
									
						Hier der Code, wo die Fehlermeldungen auftauchen.:
Code: Alles auswählen
 TFormAuslesen = class(TForm)
    EdDatum: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    EdUhrzeit: TEdit;
    EdBlNr: TEdit;
    SGMesswerte: TStringGrid;
    BtnAbbruch: TButton;
    BtnEnde: TButton;
    LbTestAusl: TLabel;
    Label7: TLabel;
    procedure BtnAbbruchClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
    procedure DatenAuslesen;
    function DatenStringZerlegen( st : String): WSTestFHaupt.TMesswerte;
  end;
procedure DatenAuslesen;
var
  n: integer;
  reccnt : integer;
  ta1,ta2,fa1,fa2 : double;
  st : string;
  RecFile : Text;
  VonDatum, BisDatum : TDateTime;
begin
  reccnt:=0;
  BisDatum:=FormHaupt.DPBis.Date+FormHaupt.SEhBis.Value/24;
  VonDatum:=FormHaupt.DPVon.Date+FormHaupt.SEhVon.Value/24;
  if VonDatum>=BisDatum then BisDatum:=VonDatum+0.5; { 1/2 Tag }
  with AktMesswerte do begin
    AssignFile(RecFile,DatenPfad+DatenFilename);
    Reset(RecFile);
    while not EOF(RecFile) do begin
      ReadLn(RecFile,st);
      Aktmesswerte:=DatenStringZerlegen(st);
      EdDatum.Text:=DateToStr(DSDatTim); { Hier kommt die 1. Fehlermeldung }
      FormAuslesen.EdUhrZeit.Text:=FormatDateTime('hh:nn',DSDatTim); { Hier keine Fehlermeldung }
      inc(reccnt);
    end;
    EdBlNr.Text:=IntToStr(BlockNr); }
    with SGMesswerte do begin
      st:=EdDatum.Text+' '+EdUhrZeit.Text; { Hier wieder Fehlermeldung }
      for n:=0 to AnzWerte do begin { Werte anzeigen }
        Cells[1,n+1]:=FloatToStrF(AktMessWerte.warr[n]*Fakt[n],ffFixed,
        prec[n],nk[n])+' '+EinhAxe[n];
        st:=st+';'+Cells[1,n+1];
        Cells[2,n+1]:=IntToStr(okarr[n]);
        if n=2 then ta1:=AktMessWerte.warr[n];
        if n=3 then fa1:=AktMessWerte.warr[n];
      end;
    end;
  end; { with Aktmesswerte }
end;Uli
Re: Compiler findet Komponenten nicht
Code: Alles auswählen
procedure DatenAuslesen;Code: Alles auswählen
procedure  TFormAuslesen.DatenAuslesen;- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1698
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: Compiler findet Komponenten nicht
Genau das hatte ich gemeint. Was mich wundert ist, daß der Compiler nicht die fehlende Implementation der Methode TFormAuslesen.Datenauslesen moniert.theo hat geschrieben: Fr 29. Aug 2025, 11:45muss heissenCode: Alles auswählen
procedure DatenAuslesen;
Code: Alles auswählen
procedure TFormAuslesen.DatenAuslesen;
Re: Compiler findet Komponenten nicht
Ja, das ist eigentlich:fliegermichl hat geschrieben: Fr 29. Aug 2025, 12:55 Genau das hatte ich gemeint. Was mich wundert ist, daß der Compiler nicht die fehlende Implementation der Methode TFormAuslesen.Datenauslesen moniert.
Error: Forward declaration not solved "DatenAuslesen;"
Re: Compiler findet Komponenten nicht
Hallo
Vielen Dank für deine Hilfe, hat geklappt.
Gruss
Uli
			
			
									
									
						Vielen Dank für deine Hilfe, hat geklappt.
Gruss
Uli


 Verein
Verein 
 Links
Links Suche
Suche