AGB  ·  Datenschutz  ·  Impressum  







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

FormClose aufrufen und ausführen !!!

Ein Thema von HolgerCW · begonnen am 12. Jul 2007 · letzter Beitrag vom 12. Jul 2007
Antwort Antwort
Seite 1 von 2  1 2      
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#1

FormClose aufrufen und ausführen !!!

  Alt 12. Jul 2007, 13:02
Hallo zusammen,

möchte aus einer procedure die TForm.FormClose aufrufen, so dass sich das Fenster TForm auch schliesst.

So habe ich es versucht:

Delphi-Quellcode:
procedure TFormPasswort.BitBtnOKClick(Sender: TObject);
var
 Action: TCloseAction;
begin
 Action := caHide;
 FormPasswort.FormClose(Sender, Action);
end;

procedure TFormPasswort.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 ED_Passwort1.text := '';
 ED_Passwort2.text := '';
end;
Es geht nur über das X oben rechts auf der Form. Wie schaffe ich das über den BitBtnOK ?

Gruss

Holger
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: FormClose aufrufen und ausführen !!!

  Alt 12. Jul 2007, 13:04
Einfach die Methode Close aufrufen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#3

Re: FormClose aufrufen und ausführen !!!

  Alt 12. Jul 2007, 13:06
Versuch es mal so:
Delphi-Quellcode:
procedure TFormPasswort.BitBtnOKClick(Sender: TObject);
begin
  FormPasswort.Close;
end;

procedure TFormPasswort.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caHide;
  ED_Passwort1.text := '';
  ED_Passwort2.text := '';
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: FormClose aufrufen und ausführen !!!

  Alt 12. Jul 2007, 13:07
Falls Du ein anderes Form schliessen willst, musst Du die unit mit dem zu schliessenden Form in deine unit aufnehmen in den Uses.


Dann machst Du
Delphi-Quellcode:
procedure TMainForm.BuSchliessenClick (Sender: TObject);
begin
  FormXY.Close;
end;
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
fLaSh11
(Gast)

n/a Beiträge
 
#5

Re: FormClose aufrufen und ausführen !!!

  Alt 12. Jul 2007, 13:09
@DeddyH:

Du solltest die Zeile
  Action := caHide; noch rauslassen, sonst meckert der Compiler
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#6

Re: FormClose aufrufen und ausführen !!!

  Alt 12. Jul 2007, 13:11
Zitat von DeddyH:
Versuch es mal so:
Delphi-Quellcode:
procedure TFormPasswort.BitBtnOKClick(Sender: TObject);
begin
  FormPasswort.Close;
end;
Wenn es sich um die Form selbst geht, dann lasse das "FormPasswort." weg!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#7

Re: FormClose aufrufen und ausführen !!!

  Alt 12. Jul 2007, 13:11
Zitat von fLaSh11:
@DeddyH:

Du solltest die Zeile

Action := caHide; noch rauslassen, sonst meckert der Compiler
Meiner nicht.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#8

Re: FormClose aufrufen und ausführen !!!

  Alt 12. Jul 2007, 13:14
Zitat von Muetze1:
Wenn es sich um die Form selbst geht, dann lasse das "FormPasswort." weg!
Du meinst, man kann das "FormPasswort." weglassen.

P.S.: Ich habe keine Ahnung, was Deine Signatur bedeuten soll
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#9

Re: FormClose aufrufen und ausführen !!!

  Alt 12. Jul 2007, 13:18
Zitat von DeddyH:
Du meinst, man kann das "FormPasswort." weglassen.
Man sollte. Schliesslich würde sich bei 2 Instanzen oder einer selbst erstellten Instanz (welche z.B. in einer lokalen Variable gehalten wird und nicht in die globale Variable FormPasswort geschrieben wurde) die Form nicht mehr schliessen. Es ist gefährlich und viel zu unsicher diese globalen Variablen zu nutzen. Wenn es modale Dialoge sind oder sonstige Forms, dann legt man diese meist selbst lokale an und gibt sie dort auch wieder frei. Dazu ist eine lokale Variable viel übersichtlicher als besser lesbar als diese globale Variable. Auch wenn es eine nicht modale Form ist, kann man ihre Instanz in einem member der erzeugenden Form halten, schliesslich sollte man sie dort auch wieder freigeben!

Man kann vieles, aber ob es les-, wart- und pflegbar ist, ist eine andere Sache. Ich lösche grundsätzlich diese globalen Deklaration raus (Ausnahme: meine MainForm).
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#10

Re: FormClose aufrufen und ausführen !!!

  Alt 12. Jul 2007, 13:47
Danke für die vielen Tips.

Ich habe einfach zu kompliziert gedacht.

Einfach FormPasswort.Close aufrufen ... das wars

Gruss

Holger
  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 01:05 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