Seite 1 von 1

DCTREEITEM actionblock

Verfasst: Sa, 05. Okt 2019 14:52
von Ewald
Moin,
ich habe grade von Express 266 auf 267 umgestellt :angry4: und stehe sofort vor diesem neuen Problem.
Bisher hat dieser Code in allen Express Versionen funktioniert.
Wenn ich jetzt einen Doppelklick auf das erste treeitem mache wird der Codeblock nicht ausgeführt, es wird nur das Item ausgeklappt.
Als ob ich auf das Pluszeichen klicke.
Der Code ist aus eine Funktion, den ich auch genau so brauche.
Mit Itemselected unter DCTREEROOT will ich nicht arbeiten, weil in der Praxis immer die Gefahr besteht der der User nur das Item ausklappen
möchte, es aber durch einen Doppelklick auch auswählt.
Dieser Code kann so gelinkt und ausgeführt werden. Nach dem Klick auf das Item müsste das Programm beendet werden - und vrueck zurückgeben.
Tut es aber nicht. Bei mir klappt jetzt unter 267 das Item nur noch aus.
Ist da schon mal jemand drüber gestolpert ?

Code: Alles auswählen

#include "dctree.ch"
#include 'dcdialog.ch'

proc main
local getlist:={},oTree, oSubTree1, oSubTree2

@ 0.0,1 dcsay "Teile ausw„hlen" size 0
@ 3,1 DCTREEROOT SIZE 90,30 OBJECT oTree font "10.Lucida Console" ;
  HASLINES ;
  HASBUTTONS

for xi = 1 to 10
DCTREEITEM CAPTION "Teilegruppe"-strzero(xi,2) PARENT otree OBJECT oSubtree1 ;
          action {|o|vrueck:=o:caption,DC_Readguievent(DCGUI_EXIT_OK,Getlist)}   // <-- wird nicht ausgeführt

for i = 1 to 10
DCTREEITEM CAPTION "Teil"+strzero(i,02) PARENT osubtree1 OBJECT oSubtree2
next

next

DCREAD GUI FIT
return

Re: DCTREEITEM actionblock

Verfasst: Sa, 05. Okt 2019 16:22
von Wolfgang Ciriack
Hat vielleicht mit dieser Änderung zu tun, habe selbst die Version 267 noch nicht installiert:
1466. Fixed a bug in DCTREEITEM that caused a tree branch to show double the
amount of tree items if branch was double-clicked the first time to
expand the branch.

Re: DCTREEITEM actionblock

Verfasst: Sa, 05. Okt 2019 18:04
von Ewald
Hallo Wolfgang,
eine Änderung mehr oder weniger - was soll es. Hast du ne Ahnung wo ich die Quelltexte dazu finde ?

Re: DCTREEITEM actionblock

Verfasst: Sa, 05. Okt 2019 18:34
von Tom
Der Handler und damit der Code für das Verhalten aller Xbparts steckt in ...\Source\Dclipx\_dcgetbx.prg, die Klassenbeschreibungen befinden sich in ...\Source\Dclipx\_dcclass.prg

Re: DCTREEITEM actionblock

Verfasst: Sa, 05. Okt 2019 19:27
von Ewald
Ich habe in _dcclass Zeile 6263

Code: Alles auswählen

… .AND. lEmpty
auskommentiert. Jetzt wird der Actionblock wieder ausgeführt und mir ist geholfen.
Aber - try and error. Keine Ahnung ob das Folgeschäden nach sich zieht.