Herzlich willkommen hier im Forum.
Was kannst du tun :
Der Hintergrund dazu:
Wenn du ein Button1CLick funktion hast, dann steht davor TForm1.
Dies weist sozusagen zu das sich alle folgenden Befehle auf Form1 beziehen (in wirklichkeit ist es viel komplizierter, Objekt Orientierte Programmierung - schau es dir mal an sobalt du ein bisschen übung hast, vereinfacht das Programmieren später sehr)
Deine Procedure hat kein Verweis auf diese Procedure. Wenn du jetzt 2 Fenster machst ( das geht, Neu > Formular ), und in Beiden ein Label1 hättest. Würde in deiner Procedure nicht klar sein welches du meinst ...
Das heißt, jede Komponente von Form1 muss bei deiner Procedure als diese Makiert werden. Entweder als Form1.Label1. u.s.w oder du schreibst einmal
With Form1 do
begin
// hier wird automatisch Form1 genommen ...
end;
Was übrigenz auch geht: DIe Procedure direkt zu Form1 zu deklarieren: (also so dass davor ein TForm1. steht ...)
Code: Alles auswählen
TForm1 = class(TForm)
private
{ private declarations }
public
{ public declarations }
procedure TueEtwas; // hier wird jetzt deine Procedure angekündigt
end;
//...
//...
implementation
//..
//..
procedure TForm1.TueEtwas; // hier steht jetzt die Richtige Procedure...
begin
Label1.Caption := 'Das Klappt Auch';
end;
So und wenn dich die Theorie des OOP (Object Orrientierte Programmierung) interessiert:
(Ist zwar eigentlich für Delphi, aber Lazarus hat viele gemeinsammkeiten, sodas vieles problemlos Funktioniert)
http://www.delphi-treff.de/tutorials/ob ... ammierung/" onclick="window.open(this.href);return false;