Label wird nicht erkannt

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
DL3AD
Beiträge: 478
Registriert: Fr 13. Sep 2013, 12:07
OS, Lazarus, FPC: Debian Bullseye (L 2.2.0)
CPU-Target: 64Bit
Wohnort: Rügen

Label wird nicht erkannt

Beitrag von DL3AD »

Hallo,

ich habe da mal ein komisches Problem.

Code: Alles auswählen

unit Unit1;
{$mode objfpc}{$H+}
interface
 
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
 
type
  { TForm1 }
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Label_result: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;
 
var
  Form1: TForm1;
  MyString: String;
  Ergebniss: String;
 
 
implementation
{$R *.lfm}
{ TForm1 }
 
procedure machmal();
begin
  MyString:= Mystring + 'und nun ?';
  Label_result.Caption:= MyString;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  MyString:= Edit1.Text;
  machmal;
//  Label_result.Caption:= MyString;
end;
 
end.                                                                     
in der procedure TForm1.Button1Click wird das Label Label_result erkannt aber nicht in der procedure machmal()
Es gibt einen Fehler "Identifier not found"

Was habe ich da falsch gemacht ?

Gruß Frank

thaden
Beiträge: 16
Registriert: Mi 15. Aug 2012, 10:14
OS, Lazarus, FPC: Debian unstable, Lazarus 2.0.8+dfsg-1, fpc-3.0.4
CPU-Target: AMD64
Wohnort: Aachen

Re: Label wird nicht erkannt

Beitrag von thaden »

Label_result gehört ja zu TForm1, ebenso die Prozedur TForm1.Button1Click - da ist das Label_result also persönlich bekannt.

Die Prozedur machmal hast du außerhalb von TForm1 deklariert, daher musst du sie mit Label_result erst bekannt machen - etwa indem du Form1.Label_result schreibst.

DL3AD
Beiträge: 478
Registriert: Fr 13. Sep 2013, 12:07
OS, Lazarus, FPC: Debian Bullseye (L 2.2.0)
CPU-Target: 64Bit
Wohnort: Rügen

Re: Label wird nicht erkannt

Beitrag von DL3AD »

... Danke - hmm, ja klar, ist ja logisch :)

Antworten