Fehler: "undefinierter bezeichner"
hallo,
delphi meint, dass verschiedene Labels nicht definiert seien, obwohl dies meiner meinung nach sehr wohl der fall ist...
Delphi-Quellcode:
nun sagt delphi sachen wie:
unit Unit4;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls; type TForm4 = class(TForm) Panel1: TPanel; EdtEing: TEdit; LblDNA1: TLabel; LblmRNA1: TLabel; LblDNA2: TLabel; LblmRNA2: TLabel; LblDNA3: TLabel; LblmRNA3: TLabel; LblDNA4: TLabel; LblmRNA4: TLabel; LblDNA5: TLabel; LblmRNA5: TLabel; LblDNA6: TLabel; LblmRNA6: TLabel; Button1: TButton; procedure Panel1Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure schreiben(var ZeilenIndex:integer;ausgstrDNA, ausgstrmRNA : string); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form4: TForm4; implementation uses Unit1; {$R *.dfm} procedure TForm4.Panel1Click(Sender: TObject); begin Panel1.Caption:= 'AAAAAAAAAAAAAAAAA'; Panel1.caption := Unit1.Unserstruct[1].dna; end; procedure schreiben(var ZeilenIndex:integer;ausgstrDNA, ausgstrmRNA : string); //var //scha:string; begin case ZeilenIndex of 0: LblDNA1.caption := LblDNA1.Caption + ausgstrDNA; LblmRNA1.Caption := LblmRNA1.Caption + ausgstrmRNA; 1: LblDNA2.Caption := LblDNA2.Caption + ausgstrDNA; LblmRNA2.Caption := LblmRNA3.Caption + ausgstrmRNA; 2: LblDNA3.Caption := ''; LblmRNA3.Caption := ''; 3: LblDNA4.Caption := ''; LblmRNA4.Caption := ''; 4: LblDNA5.Caption := ''; LblmRNA5.Caption := ''; 5: LblDNA6.Caption := ''; LblmRNA6.Caption := ''; else errormsg(); end; end; [Fehler] Unit4.pas(57): Undefinierter Bezeichner: 'LblDNA1' [Fehler] Unit4.pas(57): Operator oder Semikolon fehlt [Fehler] Unit4.pas(58): Undefinierter Bezeichner: 'LblmRNA1' [Fehler] Unit4.pas(60): Undefinierter Bezeichner: 'LblDNA2' [Fehler] Unit4.pas(60): Operator oder Semikolon fehlt and so on :wiejetzt: . mfg, teetasse |
Re: Fehler: "undefinierter bezeichner"
Hallo,
wenn Du aus
Delphi-Quellcode:
procedure schreiben(var ZeilenIndex:integer;ausgstrDNA, ausgstrmRNA : string);
Delphi-Quellcode:
könnte durchaus funktionieren, so ist schreiben keine Prozedur der Klasse und kennt daher auch die Attribute der Klasse nicht.
procedure TForm4.schreiben(var ZeilenIndex:integer;ausgstrDNA, ausgstrmRNA : string);
|
Re: Fehler: "undefinierter bezeichner"
Hallo,
wie waers mit
Delphi-Quellcode:
;-)
case ZeilenIndex of
0:begin //<<<<< LblDNA1.caption := LblDNA1.Caption + ausgstrDNA; LblmRNA1.Caption := LblmRNA1.Caption + ausgstrmRNA; end;//<<<< 1: |
Re: Fehler: "undefinierter bezeichner"
Zitat:
MfG BAMatze |
Re: Fehler: "undefinierter bezeichner"
Zitat:
Delphi-Quellcode:
und natürlich den Hinweis von Dr.Kaktus beachten
with Form4 do begin
... end; |
Re: Fehler: "undefinierter bezeichner"
[OT] Dr. binch ner..nur "der" :-D [/OT]
|
Re: Fehler: "undefinierter bezeichner"
Zitat:
|
Re: Fehler: "undefinierter bezeichner"
Zitat:
und sehr wohl finde ich das
Delphi-Quellcode:
besser ist als 20zig mal
with Form4 do
Delphi-Quellcode:
aufzurufen. Ausserdem war ich der Meinung das diese Prozedure später in eine seperate Unit auslagert. Vielleicht geht es aber auch so um die Referenz auf die Klasse zu gewährleisten.
Form4.XXX.Caption
Delphi-Quellcode:
Aber innerhalb einer Unit hast du natürlich Recht, da ist das Quatsch.
procedure schreiben(MyForm: TForm;var ZeilenIndex:integer;ausgstrDNA, ausgstrmRNA : string);
begin case ZeilenIndex of 0: begin MyForm.LblDNA1.caption := MyForm.LblDNA1.Caption + ausgstrDNA; MyForm.LblmRNA1.Caption := MyForm.LblmRNA1.Caption + ausgstrmRNA; end; .... end; end; |
Re: Fehler: "undefinierter bezeichner"
Zitat:
|
Re: Fehler: "undefinierter bezeichner"
Hallo,
Zitat:
schreiben ist im Interface als Methode von Form4 deklariert. Im Implementationszeil ist sie jedoch nicht als Methode von Form4 implementiert. Es fehlt also nur das TForm4 vor der Methode schreiben im Implementationsteil. Man kann natürlich die Methode schreiben aus der Klasse herausnehmen um ihr dann die Klasse als Parameter zu übergeben und dann mit with zu arbeiten, um wiederum Schreibarbeit zu sparen, aber wäre das TForm4. vor der Methode schreiben hier nicht eventuell doch die bessere Lösung? Ansonsten müsste die Methode schreiben der Klasse TForm4 jedenfalls noch implementiert werden bzw. im Interfaceteil wieder entfernt werden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz