AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Mehrere Forms

Ein Thema von Cmon · begonnen am 31. Mai 2007 · letzter Beitrag vom 31. Mai 2007
Antwort Antwort
Cmon

Registriert seit: 23. Mai 2007
9 Beiträge
 
#1

Mehrere Forms

  Alt 31. Mai 2007, 18:04
Hallo,

eigentlich sollte es ja keine große Aufgabe sein, mehrere Forms gleichzeitig anzuzeigen, aber ich krieg es momentan einfach nicht gebacken.

Erst hatte ich folgenden Code:
Delphi-Quellcode:
program Bruchrechentrainer;

uses
  Forms,
  pasBruchrechentrainer in 'pasBruchrechentrainer.pas{fBruchtrainer};
  pasAnleitung in 'pasAnleitung.pas{fAnleitung};

{$R *.RES}

begin
  Application.Initialize;

  Application.CreateForm(TfAnleitung, fAnleitung);
  Application.CreateForm(TfBruchtrainer, fBruchtrainer);
  Application.Run;
end.
Woraufhin aber jeweils nur eins der beiden Fenster angezeigt wurde.

Dann habe ich versucht, das zweite Fenster im FormActivate des ersten zu erstellen:
Delphi-Quellcode:
procedure TfBruchtrainer.FormActivate(Sender: TObject);
begin
   { Erzeuge das Hilfe-Fenster }
   TfAnleitung.Create(self);
Allerdings funktioniert auch das nicht, denn ich erhalte folgenden Fehler: Undefinierter Bezeichner 'TfAnleitung'
Was mache ich denn falsch ?

Viele Grüße
Simon
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Mehrere Forms

  Alt 31. Mai 2007, 18:06
Delphi-Quellcode:
...
Application.Initialize;

  Application.CreateForm(TfAnleitung, fAnleitung);
  Application.CreateForm(TfBruchtrainer, fBruchtrainer);
  fBruchtrainer.Show;
  Application.Run;
...
Markus Kinzler
  Mit Zitat antworten Zitat
31. Mai 2007, 18:07
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "VCL / WinForms / Controls" verschoben.
Cmon

Registriert seit: 23. Mai 2007
9 Beiträge
 
#4

Re: Mehrere Forms

  Alt 31. Mai 2007, 18:24
vielen Dank schonmal,
ist es möglich, fBruchtrainer in den Vordergrund zu bringen ?
fBruchtrainer.setFocus() funktioniert nicht.

Viele Grüße
Simon
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Mehrere Forms

  Alt 31. Mai 2007, 18:27
.BringToFront
Markus Kinzler
  Mit Zitat antworten Zitat
Cmon

Registriert seit: 23. Mai 2007
9 Beiträge
 
#6

Re: Mehrere Forms

  Alt 31. Mai 2007, 18:48
nein, das klappt leider nicht.
Ich möchte fBruchtrainer als Hauptfenster und dementsprechend fAnleitung in den Vordergrund rücken:
Delphi-Quellcode:
  Application.Initialize;

  Application.CreateForm(TfBruchtrainer, fBruchtrainer);
  Application.CreateForm(TfAnleitung, fAnleitung);
  fAnleitung.show();
  fAnleitung.BringToFront();

  Application.Run;
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Mehrere Forms

  Alt 31. Mai 2007, 19:52
Dazu sollte man aber noch ein Paar mehr sachen sagen, sonst lernt man das falsch.
Beim Programmstart werden alle Formulare erzeugt, aber nur die Hauptform angezeigt. Ein weiterres Createn ist also nicht nötig und so wie du das machst sogar falsch und würde zu einer AV führen.
TfAnleitung ist der Name der Klasse, fAnleitung ist der Name der Instanz, die du haben möchtest.
In delphi erstellt man diese aber nicht mit fAnleitung.Create(self)
, sondern mit
fAnleitung:=TfAnleitung.Create(self);
also Instanzename:=Klassenname.Create;

Mehr Infos dazu in den Tutorials auf www.dsdt.info

Um eine Form anzuzeigen, musst du in deiner ersten Form oder halt Vorher (mkinzlers Methode)
fAnleitung.Show aufrufen, oder ShowModal wenn es ein modaler Dialog sein soll.
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:09 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