Das Forentreffen 2018 findet am 20./21. April in Dresden statt. Weitere Infos hier
Anmeldungen zum Forentreffen 2018 sind auf der Anmeldeseite möglich
Zur Homepage des Deutschsprachige Xbase-Entwickler e. V.
Xbase++-Wiki des Deutschsprachige Xbase-Entwickler e. V.

Browse mit Filter - Sortierungs Problem

Moderator: Moderatoren

Antworten
Benutzeravatar
Ewald
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 404
Registriert: Sa, 08. Apr 2006 14:07
Wohnort: Datteln
Kontaktdaten:

Browse mit Filter - Sortierungs Problem

Beitrag von Ewald » Mo, 24. Okt 2016 18:40

Moin zusammen,
da ärgere ich mich schon eine Zeit lang mit rum. Wenn ich dieses Sinnlosprogramm starte kann ich durch einen Klick auf die Spaltenköpfe wie gewünscht sortieren. 1 x klick aufwärts dann 1 x klick auf die gleiche Spalte und es geht wieder abwärts. Alles super soweit. Nur wenn ich den Filter im Browse aktiviere ist Schluss damit. Ich kann 1 x auf die Spalte klicken und es wird richtig sortiert - beim 2. mal klicken auf die gleiche Spalte stürzt die Kiste ab.

Das passiert mir in jeder Anwendung, in der ich die Filteroption im Browse verwende. Ein möglicherweise hilfreiches errorlog wird nicht erzeugt.
Gibt es dafür wohl einen Lösung ?

Gruß
Ewald

Code: Alles auswählen

#include "dcdialog.ch"
#include "appevent.ch"
#include 'xbp.ch'
proc main
local getlist:={}
aarr:={}

aadd(aarr,{"Franz","Meier","Castrop"})
aadd(aarr,{"Josef","Müller","Dortmund"})
aadd(aarr,{"Hein","Mück","Recklinghausen"})

bfilter={|a|!empty(a[1])}
bsortcol := {|a,n,o| fsort(aarr,n,getlist) }

*@ 01,01 dcbrowse ob1 data aarr size 10,7 fit filter bfilter  // <--- Absturz
@ 01,01 dcbrowse ob1 data aarr size 10,7 fit                  // <--- funktioniert

dcbrowsecol element 1 header "Vorname" parent ob1 width 10 ;
            sort bsortcol LEFTBUTTON  
dcbrowsecol element 2 header "Name"    parent ob1 width 10 ;
            sort bsortcol LEFTBUTTON
dcbrowsecol element 3 header "Ort"     parent ob1 width 10 ;
            sort bsortcol LEFTBUTTON

@ 8,1 dcpushbutton caption "Ende " size 10,1 ;
       action {||dc_readguievent(DCGUI_EXIT_OK,Getlist)}

dcread gui fit ;
title " " 

return
*------------------------------------------------------
function fsort(aar,ncol,xlist)

asort ( aar,,, {|x,y|x[ncol] < y[ncol] } )

ob1:refreshall()
dc_getrefresh(xlist)

return .t.
*--------------------------------------------------------
proc appsys
return 

Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 6828
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Kontaktdaten:

Re: Browse mit Filter - Sortierungs Problem

Beitrag von Tom » Di, 25. Okt 2016 9:39

Hallo, Ewald.

Das ist in Build 260 von eXpress++ gefixt; vermutlich hast Du eine ältere Version. Siehe auch hier:
http://bb.donnay-software.com/donnay/vi ... f=2&t=1275
Herzlich,
Tom

Benutzeravatar
Ewald
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 404
Registriert: Sa, 08. Apr 2006 14:07
Wohnort: Datteln
Kontaktdaten:

Re: Browse mit Filter - Sortierungs Problem

Beitrag von Ewald » Di, 25. Okt 2016 15:37

Moin Tom,
das ist leider trotz der Änderungen nicht gefixt. Ein Kollege hat mir auch bestätigt, das es bei ihm mit der aktuellsten Version zum gleichen Fehler kommt. Evtl. kannst du meinen geposteten Code ja mal ausprobieren. Ich bekomme da keine klare Fehlerursache rausgefriemelt.
Bis denne mal
Ewald

Antworten