Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi OnExit - so ne *PIIIIIIIIIEP* (https://www.delphipraxis.net/7305-onexit-so-ne-%2Apiiiiiiiiiep%2A.html)

theomega 8. Aug 2003 17:53


OnExit - so ne *PIIIIIIIIIEP*
 
Hallo Leute
ich rege mich schon wieder über Delphi auf, das kann doch nicht normal sein:

Ich habe auf meinem Form:
1 Treeview
1 Memo
1 Label

Wenn man auf den Treeview Klickt (treeview1onlick), werden:
1. In das Memo Daten geladen (aus Datenbank)
2. In das Label die Beschriftung des ausgewählten Knotens kopiert.

Kein Problem soweit:
jetzt würde ich gerne aber das Memo wieder zurückspeichern, sobald der Fokus das Memo verläßt. Dazu bietet sich ja memo1onexit ganz gut an, also habe ich das genommen, und dahinein meine Speicherrutine geschrieben. Jetzt kommen aber die komischen Dinge:

Wenn ich im Memo etwas bearbeitet habe, und dann auf einen Treeview-Eintrag klicke, dann wird vor(!!!) dem memoexit-Ereginiss treeview1.selected geändert. Es tritt aber kein(!!) treeview1onclick auf.

Ist das normal? Kann das mal jemand ausprobieren.
Und: kann man das wieder normalemachen: das also der Treeview das selected erst nach (!) meinem onexit ändert? Und das onclick eintritt?

Grüße
TO

[edit=Daniel]Titel von einem Fast-Kraftausdruck bereinigt. ;-) Mfg, Daniel[/edit]
[edit=TheOmega]Spaßbremse :D Mfg, Dominik[/edit]

Christian Seehase 8. Aug 2003 21:31

Re: OnExit - so ne *PIIIIIIIIIEP*
 
Moin Dominik,

ich hatte da ein ähnliches Phänomen:
Beim Eintritt in eine Methode (TAction.Execute) stimmte TTreeView.Selected, und nachdem dort ein TOpenDialog erfolgreich (TOpenDialog.Execute = true) aufgerufen wurde, enthielt TTreeView.Selected den Wert des ersten Nodes im TreeView. :shock:

Workaround:
Zu Beginn der Methode den Wert von TTreeView.Selected in einer lokalen Variable vom Typ TTreeNode zwischenspeichern, und am Ende der Methode (bzw. dort wo's gebraucht wird) wieder zurücksetzen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:00 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