AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Form über eigenen Button schließen ...
Thema durchsuchen
Ansicht
Themen-Optionen

Form über eigenen Button schließen ...

Offene Frage von "LingNeu"
Ein Thema von LingNeu · begonnen am 22. Apr 2010 · letzter Beitrag vom 22. Apr 2010
Antwort Antwort
LingNeu

Registriert seit: 18. Dez 2006
164 Beiträge
 
Delphi 7 Enterprise
 
#1

Form über eigenen Button schließen ...

  Alt 22. Apr 2010, 17:10
Hallo Delphifans,
habe eine App mit mehreren Programmteilen, welchem ich den herkömmlichen Schliessen-Button abgeschaltet habe.
Dazu verwende ich die OnCloseQuery in der ich CanClose := false gesetzt habe.
Wenn nun der Anwender den Schließbutton drückt, kommt die Abfrage, ob er diesen Programmteil verlassen will.
Wenn ja, dann kommt der auf die s.g. Startseite zurück.
Dort kann er jetzt ein anderes Programm aufrufen oder das gesamte Programm verlassen
Und hier ist mein Problem
Ich habe bisher keine Möglichkeit gefunden, dort an dieser Stelle das Programm zu schließen oder zu verlassen.
Da ist ja auch noch CanClose aktiv.
Was kann ich tun?
Danke für jede Hilfe
ciao
LingNeu

Delphi-Quellcode:
//der normale Schliessen-Button wird umfunktioniert ...
procedure Tfrm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  CanClose := False; // damit wird die Form offen gehalten
  // restliche Abfrage Ja/Nein
end;
//ein anderer Button soll tatsächlich die Form schliessen ...
procedure Tfrm.Button1Click(Sender: TObject);
begin
frm.Close; //geht nicht
end;
Wenn man denkt, dann denkt man nur, das man denkt!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#2

Re: Form über eigenen Button schließen ...

  Alt 22. Apr 2010, 17:25
CanClose := False; nicht fest auf False legen.

Speichere in einer Variable, ob dein Button gedrückt wurde und wenn ja, dann CanClose auf True.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Form über eigenen Button schließen ...

  Alt 22. Apr 2010, 17:28
Du darfst halt CanClose nicht IMMER auf false setzen, sondern nur dann, wenn die Form sich nicht schließen lassen darf. Du kannst zum Beispiel ein Boolean-Feld in deiner Form deklarieren, welches immer auf False steht, und wenn du das Programm beenden willst setzt du dieses auf True. Ansonsten über die "harten" Methoden á la Halt();
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
kamel08
(Gast)

n/a Beiträge
 
#4

Re: Form über eigenen Button schließen ...

  Alt 22. Apr 2010, 17:29
ich hätte das so gemacht:

//ein anderer Button soll tatsächlich die Form schliessen ...
procedure Tfrm.SpecialExitButtonClick(Sender: TObject);
begin
Form1.OnCloseQuery := nil;
close;
end;
  Mit Zitat antworten Zitat
Benutzerbild von Muellermilchtrinker
Muellermilchtrinker

Registriert seit: 1. Aug 2009
447 Beiträge
 
Delphi 2009 Professional
 
#5

Re: Form über eigenen Button schließen ...

  Alt 22. Apr 2010, 17:29
Schieß es doch mit Application.Terminate ab.
Hab ich auch bei nem Prgramm gemacht
Chuck Norris doesn't need backups. He just uploads his files and lets the world mirror them.
  Mit Zitat antworten Zitat
LingNeu

Registriert seit: 18. Dez 2006
164 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Form über eigenen Button schließen ...

  Alt 22. Apr 2010, 17:44
Mensch Leute !
Ihr seid Spitze !!
soviele Antworten hätte ich nicht erwartet - und das noch dazu in dieser kurzen Zeit.
Danke!
Ich probier das Eine oder Andere aus und schau mal, welches für mich passt.
ciao
LingNeu
Wenn man denkt, dann denkt man nur, das man denkt!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: Form über eigenen Button schließen ...

  Alt 22. Apr 2010, 17:50
Müsste nicht ein
Delphi-Quellcode:
procedure Tfrm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  CanClose := Sender = Button1;
end;
genügen?
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
blauweiss

Registriert seit: 19. Jun 2007
142 Beiträge
 
#8

Re: Form über eigenen Button schließen ...

  Alt 22. Apr 2010, 17:58
Zitat von DeddyH:
Müsste nicht ein
Delphi-Quellcode:
procedure Tfrm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  CanClose := Sender = Button1;
end;
genügen?
Nein, weil Sender ziemlich sicher das Form ist und nicht der Button....

blauweiss
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:27 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