Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   per buttonklick neues fenster öffnen (https://www.delphipraxis.net/161227-per-buttonklick-neues-fenster-oeffnen.html)

gast5 24. Jun 2011 09:52

AW: per buttonklick neues fenster öffnen
 
Zitat:

Zitat von Luckie (Beitrag 1108011)
Also als Anfänger dürfte es am leichtesten sein, wenn man alle Fenster sofort erstellen lässt von der IDE. Hab eich früher auch immer so gemacht.

Und wie geht das?

mkinzler 24. Jun 2011 09:55

AW: per buttonklick neues fenster öffnen
 
Einfach neues Formular in der IDE erstellen. Es wird dann eine Instanz davon angelegt und automatisch erzeugt, welche man dann mit
Delphi-Quellcode:
<Formx>.Show;
anzeigen lassen kann.
Ggf. muss man noch die Unit in die Quelldatei einbinden.

gast5 24. Jun 2011 11:18

AW: per buttonklick neues fenster öffnen
 
Ich habe es versucht aber nicht hinbekommen.
Kannst du vielleicht das Projekt hier hochladen? Wäre nett

DeddyH 24. Jun 2011 11:21

AW: per buttonklick neues fenster öffnen
 
"Datei - Neu - Formular" im bestehenden Projekt aufrufen, damit wird das so angelegte Form (AFAIK auch unter Lazarus) automatisch in die Liste der automatisch zu erzeugenden Formulare aufgenommen. Du musst nun nur noch in der aufrufenden Unit die Unit dieses neuen Formulars in die uses-Klausel aufnehmen. Das sollte im implementation-Abschnitt genügen.

bcvs 25. Jun 2011 21:53

AW: per buttonklick neues fenster öffnen
 
Zitat:

Zitat von DeddyH (Beitrag 1108081)
"Datei - Neu - Formular" im bestehenden Projekt aufrufen, damit wird das so angelegte Form (AFAIK auch unter Lazarus) automatisch in die Liste der automatisch zu erzeugenden Formulare aufgenommen.

Aber nur, wenn nicht genau das in den Optionen (weiß jetzt auf Anhieb nicht, wo genau) abgeschaltet ist, was bei mir der Fall ist.

gast5 26. Jun 2011 19:34

AW: per buttonklick neues fenster öffnen
 
:cry:Mein Programm scheint ein Problem damit zu haben dass da TForm1, Form1 und/oder TForm2, Form2 steht. Denn dort treten die Fehler beim kompolieren auf.

Luckie 26. Jun 2011 19:58

AW: per buttonklick neues fenster öffnen
 
Zitat:

Zitat von gast5 (Beitrag 1108402)
Denn dort treten die Fehler beim kompolieren auf.

Aha. Rat mal was jetzt hilfreich für uns wäre, wenn wir dir helfen sollen. :roll:

mkinzler 26. Jun 2011 20:07

AW: per buttonklick neues fenster öffnen
 
Zudem weiss wohl keiner was kompolieren ist. :stupid:

gast5 27. Jun 2011 11:21

AW: per buttonklick neues fenster öffnen
 
Unit1 Quelltext:
Delphi-Quellcode:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);
begin
  var
    Form2: TForm2;
  begin
    Form2 := TForm2.Create(Self);
    try
      Form2.ShowModal;
    finally
      Form2.Free;
end;
end.
Unit2 Quelltext:
Delphi-Quellcode:
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.

Bei Unit 1 tritt der Fehlerauf: unit1.pas(35,5) Fatal: Syntax error, ";" expected but "identifier FORM2" found


Delphi-Quellcode:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);
begin
  <Form2>.Show;
end;

end.

Dort trittt dieser Feehler auf: unit1.pas(34,4) Fatal: Syntax error, ";" expected but "identifier FORM2" found

Klaus01 27. Jun 2011 11:25

AW: per buttonklick neues fenster öffnen
 
Delphi-Quellcode:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;

type

{ TForm1 }

TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;

var
Form1: TForm1;

implementation
uses
  Unit2; // <--- neu
{$R *.lfm}

{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);
var
  Form2: TForm2;
begin
  Form2 := TForm2.Create(Self);
  try
    Form2.ShowModal;
  finally
    Form2.Free;
  end;
end;

end.
Grüße
Klaus


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:31 Uhr.
Seite 3 von 4     123 4      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz