Probleme mit Lazarus und Anfängerfrage

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Fluchtfahrzeug
Beiträge: 3
Registriert: Di 13. Mär 2012, 18:41

Probleme mit Lazarus und Anfängerfrage

Beitrag von Fluchtfahrzeug »

Hallo Leute ich befasse mich seit ca. einer Woche mit Lazarus. Hab auch schon mehrere kleine Programme geschrieben. Jetzt hab ich ein Problem und kann es nicht lösen. Ich hab eigentlich noch garnicht viel gemacht in meinem neuen Programm. Ich hab zwei Formulare. In ersten Formular ist nur ein Button der das zweite Formular öffnet mit dem Befehl showmodal. Bis hier her ist auch alles in Ordnung. Funktioniert prima. Aber wenn ich jetzt auf Form2 ein Label packe und dann Starte erscheinen plötzlich beide Formulare gleichzeitig. Wenn ich auf dem Button klicke bekomme ich eine Fehlermeldung (siehe Datei Anhänge). Wieso kann ich auf Form2 kein Label packen? Hier mal der Quellcode:

Code: Alles auswählen

{ TForm1 }
 
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end; 
 
var
  Form1: TForm1; 
 
implementation
uses unit2;
 
{ TForm1 }
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  form2.showmodal;
end;
 
{$R *.lfm}
 
end.
 
-----------
Und für Form2:
 
unit Unit2; 
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs; 
 
type
  TForm2 = class(TForm)
  private
    { private declarations }
  public
    { public declarations }
  end; 
 
var
  Form2: TForm2; 
 
implementation
 
{$R *.lfm}
 
end.




Außerdem möchte ich eine Variable in beiden Formularen verwenden. Es sollte eine Integer Variable sein. Ich will auf Form1 einen Kontostand haben und in Form2 etwas kaufen, wobei in Form2 auch der Kontostand stehen sollte. Ich wollte das ganze mit einer Globalen Variable lösen. Sobald das Programm gestartet wird sollte in Form1 der Kontostand stehen. Das habe ich auch ohne Probleme geschafft. Nur bin ich icht ganz sicher wie es jetzt weitergeht. Ich kann es auch nicht ausprobieren, weil ich ja immer diese Fehlermeldung bekomme. Soweit bin ich bisher:

Code: Alles auswählen

TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end; 
 
var
  Form1: TForm1;
  kontostand: integer;
 
implementation
uses unit2;
 
{ TForm1 }
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  kontostand:=10000;
  label1.caption:=IntToStr(kontostand);
end;
 
{$R *.lfm}
 
end.
Dateianhänge
003.jpg
002.jpg
001.jpg
Zuletzt geändert von Lori am Di 13. Mär 2012, 21:59, insgesamt 1-mal geändert.
Grund: Highlighter

Benutzeravatar
theo
Beiträge: 10872
Registriert: Mo 11. Sep 2006, 19:01

Re: Probleme mit Lazarus und Anfängerfrage

Beitrag von theo »

Hänge doch mal das ganze Projekt hier an. In deinen Code-Schnippseln kann ich das Problem nicht erkennen.
Benutze am Besten den Menupunkt Projekt-> Projekt Veröffentlichen und Pack das "publishedproject" in ein ZIP, dann kommt nicht zuviel Zeug mit.

Fluchtfahrzeug
Beiträge: 3
Registriert: Di 13. Mär 2012, 18:41

Re: Probleme mit Lazarus und Anfängerfrage

Beitrag von Fluchtfahrzeug »

Ich hab es in rar gepackt hoffe das ist dir recht.
Dateianhänge
fehlerhaftesProjekt.rar
(2.42 KiB) 26-mal heruntergeladen

Benutzeravatar
theo
Beiträge: 10872
Registriert: Mo 11. Sep 2006, 19:01

Re: Probleme mit Lazarus und Anfängerfrage

Beitrag von theo »

Mach einfach im Objektinspektor die "Visible" Eigenschaft von Form2 auf false (default),

Fluchtfahrzeug
Beiträge: 3
Registriert: Di 13. Mär 2012, 18:41

Re: Probleme mit Lazarus und Anfängerfrage

Beitrag von Fluchtfahrzeug »

Vielen Dank für die Hilfe

Antworten