AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Formaufruf

Ein Thema von Eppos · begonnen am 9. Jan 2009 · letzter Beitrag vom 9. Jan 2009
Antwort Antwort
Seite 1 von 2  1 2      
Eppos

Registriert seit: 7. Aug 2006
Ort: Heilbronn
523 Beiträge
 
Delphi 11 Alexandria
 
#1

Problem mit Formaufruf

  Alt 9. Jan 2009, 12:22
Hallo zusammen,

habe folgendes Problem:

Ich habe einen Formaufruf der wie folg aussieht:

Delphi-Quellcode:
  FoMain := TFoMain.Create(self);
  FoMain.FormStyle := fsNormal;
  FoMain.Visible := False;
  FoMain.ShowModal;
bei diesem Aufruf wird das Ereignisse FormShow 3 x Aufgerufen...

Kann mir jemand sagen warum?

Vielen Dank!

Eppos
  Mit Zitat antworten Zitat
9. Jan 2009, 13:37
Dieses Thema wurde von "alzaimar" von "Programmieren allgemein" nach "VCL / WinForms / Controls" verschoben.
Forms gehören in die VCL-Sparte
nahpets
(Gast)

n/a Beiträge
 
#3

Re: Problem mit Formaufruf

  Alt 9. Jan 2009, 13:46
Hallo,

mal ins Dunkle getippt:
Delphi-Quellcode:
FoMain := TFoMain.Create(self);
FoMain.FormStyle := fsNormal; // weils noch nicht sichtbar ist, nur erstellt <> sichtbar?
FoMain.Visible := False; // weils unsichtbar gemacht wird.
FoMain.ShowModal; // weils angezeigt wird.
Alternativ:
Delphi-Quellcode:
FoMain := TFoMain.Create(self); // macht auch sichtbar (abhängig von den Defaultwerten für FormStyle, Visible...
// Eventuell hat ja auch ein OnCreate-Ereignis noch irgendwelche Auswirkungen.
FoMain.FormStyle := fsNormal; // weil seine Darstellungsform geändert wird.
FoMain.Visible := False;
FoMain.ShowModal; // weils angezeigt wird.
Jedes mal ändert sich die Sichtbarkeit.
Mach mal ShowMessages dazwischen und schau, in welcher Reihenfolge Deine Befehle und die Aufrufe von FormShow erfolgen oder schau's Dir mit dem Debugger an, dann müsstest Du erkennen können, welcher Deiner Befehle ein FormShow verursacht.
  Mit Zitat antworten Zitat
Eppos

Registriert seit: 7. Aug 2006
Ort: Heilbronn
523 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Problem mit Formaufruf

  Alt 9. Jan 2009, 14:04
@nahpets

Habe ich gemacht.
Es wird jedemal angezeigt bei:
1. --> FoMain.FormStyle := fsNormal;
2. --> FoMain.Visible := False;
3. --> FoMain.ShowModal;

Die Eigenschaft kann ich nicht ändern, da das fenster von einem andren Fesnter verwendet wird und andere Eigeschaften für dieses Fenster benötigt werden.
Ein OnCreate Ereignis hängt nicht dazwischen...

Aber was kann ich dagegen tun?
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#5

Re: Problem mit Formaufruf

  Alt 9. Jan 2009, 14:08
Eigentlich nichts, FormShow kann sehr häufig aufgerufen werden. Was willst Du erreichen, evtl. gibt es eine bessere Lösung als FormShow zu nutzen.

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Eppos

Registriert seit: 7. Aug 2006
Ort: Heilbronn
523 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Problem mit Formaufruf

  Alt 9. Jan 2009, 14:12
Ich habe mehrere SQL's die dort aufgerufen werden...
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#7

Re: Problem mit Formaufruf

  Alt 9. Jan 2009, 14:27
Hallo,

reicht denn dann nicht nach dem Create das FoMain.ShowModal aus?
Zu dem Formular gibt es doch auch die entsprechende DMF, wenn dort bzw. im Objektinspekter für das Formular
Delphi-Quellcode:
FoMain.FormStyle := fsNormal;
FoMain.Visible := False;
schon gesetzt sind, dann brauchst Du die im Quelltext doch nicht mehr, beim Create werden diese Werte ja bereits übernommen, dann müsste im Quelltext doch eigentlich
Delphi-Quellcode:
FoMain := TFoMain.Create(self);
FoMain.ShowModal;
reichen.
  Mit Zitat antworten Zitat
Eppos

Registriert seit: 7. Aug 2006
Ort: Heilbronn
523 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Problem mit Formaufruf

  Alt 9. Jan 2009, 14:47
Die Form hat folgende Eigenschaften:

Delphi-Quellcode:
FoMain.FormStyle := fsMDIChild;
FoMain.Visible := False;
und für einen anderen brauche ich eben den Aufruf wie oben beschrieben.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#9

Re: Problem mit Formaufruf

  Alt 9. Jan 2009, 15:05
Hallo,

das Visible := False brauchst Du also immer und es ist in den Defaulteinstellungen, dann kannst Du Dir ja das Setzen sparen und kommst somit einmal weniger durch FormShow, dass ist nur wohl nicht so ganz das, was Du möchtest.
  Mit Zitat antworten Zitat
Eppos

Registriert seit: 7. Aug 2006
Ort: Heilbronn
523 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Problem mit Formaufruf

  Alt 9. Jan 2009, 15:13
sorry habe mich verschrieben, es müsste FoMain.Visible := True; sein
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 17:48 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