XbpListbox() extrem langsam ...

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Antworten
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

XbpListbox() extrem langsam ...

Beitrag von AUGE_OHR »

hi,

ich verwende XbnpListbox() mit < 10 Einträgen aber es dauert mehrere Sekunden bis sich was tut und er die Listbox anzeigt :?:

Code: Alles auswählen

#IFDEF Use_Original
   oListBox := XBPLISTBOX() :new( oDlg:drawingArea,, { 0, 0 }, aSize ,,.F.)
#ELSE
   oListBox := DXE_Listbox() :new( oDlg:drawingArea,, { 0, 0 }, aSize ,,.F.)
#ENDIF
   oListBox:create()

   ASORT( aArray,,, { | aX, aY | aX[ 2 ] < aY[ 2 ] } )
   iMax := LEN( aArray )
   FOR i := 1 TO iMax
      cText := TRIM( aArray[ i ] [ 2 ] )
      oListBox:addItem( cText )
   NEXT
   oListBox:Show()
ich sehe in den paar Zeilen keine Möglichkeit was falsch zu machen.
mit der native Listbox funktioniert es.

hat jemand das schon erlebt :?:
passiert unter Win 7/8x/10 32/64bit.
gruss by OHR
Jimmy
flanelli
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 151
Registriert: Di, 11. Mai 2010 16:27
Hat sich bedankt: 3 Mal
Danksagung erhalten: 9 Mal

Re: XbpListbox() extrem langsam ...

Beitrag von flanelli »

Versuche es mal mit einem sleep(0), hatte das gleich Problem und damit gelöst,
( warum auch immer aber man sollte nicht über alles in XB nachdenken :lol: )

FOR i := 1 TO iMax
cText := TRIM( aArray[ i ] [ 2 ] )
oListBox:addItem( cText )

sleep(0)

NEXT
Ahoile aus dem Süden
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: XbpListbox() extrem langsam ...

Beitrag von AUGE_OHR »

flanelli hat geschrieben: Do, 18. Okt 2018 10:16 Versuche es mal mit einem sleep(0), hatte das gleich Problem und damit gelöst,
Interessant ... :idea:
Danke werde ich mal probieren.
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: XbpListbox() extrem langsam ...

Beitrag von AUGE_OHR »

Code: Alles auswählen

SLEEP(0)
JaNein ...

Nein : es wirkt nicht bei ersten Aufruf einer XbpListbox() :(
JA : aber danach öffnet jede XbpListbox() normal. :D

das ganze erinnert mich an das "Bildschirm/Auflösung" Problem wo man das auch 1 x machen muss ... hm ... :-k
gruss by OHR
Jimmy
flanelli
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 151
Registriert: Di, 11. Mai 2010 16:27
Hat sich bedankt: 3 Mal
Danksagung erhalten: 9 Mal

Re: XbpListbox() extrem langsam ...

Beitrag von flanelli »

Na dann Jimmy...

Als ClipperS87-Urgestein sollten Dir ja so richtig geile Workarounds
immer noch Spass machen und dabei auch kein Bauchweh verursachen.

Was haben wir in alten S87-Zeiten nicht alles angestellt um so manches
unter WIN.NT zum Laufen zu bringen was unter WIN95/98 problemlos klappte?

Daher mein höchst kreativer Vorschlag zur "Optimierung"
Tiefsinniges Nachdenken bringt manchmal nichts außer Zeitverlust :-)

cText := "XBASE-KREATIV"
oListBox:addItem( cText )
sleep(0)
oListBox:delItem( 1 )

FOR i := 1 TO iMax
cText := TRIM( aArray[ i ] [ 2 ] )
oListBox:addItem( cText )
sleep(0)
NEXT

PS.: Ich verspreche auch hier keines Deiner noch weitaus "kreativeren" Workarounds
aus der Zeit im Kölner Maritim zu posten :lol: :roll: [-X
Ahoile aus dem Süden
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: XbpListbox() extrem langsam ...

Beitrag von AUGE_OHR »

hi,

Danke für deine Antwort.
sorry habe mich wohl nicht genau genug ausgedrückt.

ich meine die gesamte Listbox wenn ich sage das die bei 1st Aufruf immer noch verzögert.
durch das SLEEP(0) hat sich der weiter Aufruf einer Listbox verbessert was vorher Probleme zeigte !

nun habe ich das auch nur in der einen App bemerkt ... in allen anderen hab ich keine Probleme.
ich wollte vor allem wissen ob schon jemand dies Problem mal hatte denn es gibt keine PDR dazu.
gruss by OHR
Jimmy
Antworten