Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Prism CloseQuery im .Net (https://www.delphipraxis.net/70315-closequery-im-net.html)

Andidreas 28. Mai 2006 16:10


CloseQuery im .Net
 
hi @all,

im geschäft programmier ich mit delphi win32
daheim hab ich jetzt auch angefangen ein bisschen zu programmieren und zwar will ich daheim ein bischen delphi .net ausprobieren...

im delphi win32 gibts ja das closequery ereigniss....
sowas ähnliches such ich grad für .net

in win32 würd ich das jetzt ungefähr so machen:

Delphi-Quellcode:
procedure TMain_Form.CloseQuery(Sender: TObject; var CanClose: Boolean);
var
  RetVal: Word;
begin
  RetVal := MessageDlg('Fenster schliessen?', mtconfirmation, mbyesno, 0);

  If RetVal = mryes Then
    CanClose := True
  Else
    CanClose := False;

End;
hat mir jemand nen kleinen gedanken anstoss wie das in .net geht???
hab da schon die ereignisse closed und closing ausprobiert jedoch nicht mit dem gewünschten ergebniss...

bin für jede hilfe dankbar!

OregonGhost 28. Mai 2006 16:14

Re: CloseQuery im .Net
 
Closing ist aber das richtige Ereignis. Statt CanClose benutzt du e.Cancel (natürlich auf den umgekehrten Wert setzen :)).

Andidreas 28. Mai 2006 16:23

Re: CloseQuery im .Net
 
danke für denn tipp

so gehts :)

Delphi-Quellcode:
procedure Main_Form.Main_Form_Closing(sender: System.Object; e: System.ComponentModel.CancelEventArgs);

var
RC : integer;

begin

  RC := MessageDlg('Close Adress Book?', mtwarning, mbyesno, 0);

  If RC = 6 Then
    e.Cancel := False
  Else
    e.Cancel := True;

end;

Andidreas 28. Mai 2006 17:27

Re: CloseQuery im .Net
 
hab ich hier irgendwo nen denkfehler drinne???

ich möcht gern wenn ich auf nen button klicke, meine form schliessen und dazu die oben (die procedure aus meinem letzten beitrag) bereits aufgeführte closing procedure verwenden...

aber so krieg ich immer ne exception :( :wall:

Delphi-Quellcode:
procedure Main_Form.btn_exit_Click(sender: System.Object; e: System.EventArgs);

var
Parm : System.ComponentModel.CancelEventArgs;

begin

  Parm.Cancel := False;
  Self.Main_Form_Closing(sender,Parm);

end;

Dax 28. Mai 2006 17:30

Re: CloseQuery im .Net
 
Hilft das? ;)

Delphi-Quellcode:
Parm := System.ComponentModel.CancelEventArgs.Create()

Andidreas 28. Mai 2006 17:52

Re: CloseQuery im .Net
 
hmm ja ein bischen hats mir geholfen, aber noch nicht ganz....

Delphi-Quellcode:
Parm := System.ComponentModel.CancelEventArgs.Create(False);
so übergebe ich an meine Main_Form_Closing procedure denn wert fürs schliessen...

wenn ich dann in meinem messagedlg auf ja geh, dann bleibt die form aber immer noch geöffnet...

überseh ich irgendwas???

Dax 28. Mai 2006 17:57

Re: CloseQuery im .Net
 
Das hilft dir zwar gegen die Exception, aber schließen musst du das Formular dann doch mit Self.Close() ;)

Andidreas 29. Mai 2006 05:15

Re: CloseQuery im .Net
 
hab bis jetzt immer noch nicht die lösung gefunden, aber ich werds hoffentlich noch hinbekommen...

ansonsten werd ich hier nommel nachfragen ;)

sir-archimedes 29. Mai 2006 07:25

Re: CloseQuery im .Net
 
Eigentlich steht doch schon alles da?!

Hast du mal folgendes probiert:

Delphi-Quellcode:
procedure Main_Form.btn_exit_Click(sender: System.Object; e: System.EventArgs);
begin
  Self.Close();
end;

procedure Main_Form.Main_Form_Closing(sender: System.Object; e: System.ComponentModel.CancelEventArgs);
var
  RC : integer;
begin
  RC := MessageDlg('Close Adress Book?', mtwarning, mbyesno, 0);
  If RC = 6 Then
    e.Cancel := False
  Else
    e.Cancel := True;
end;
Wenn du dann noch das Closingevent richtig verdrahtest mit der Methode, dann sollte alles klappen?!

Gruß

Andidreas 29. Mai 2006 07:36

Re: CloseQuery im .Net
 
ja ich weiss, aber genau bei dem verdrahten liegt mein problem ;) :wall:


Edit:
wie gesagt das ist mein erstes .net programm, ich hoffe ihr verzeihts mir wenn ich mich selten doof anstelle :oops:


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:00 Uhr.
Seite 1 von 2  1 2      

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