XbpListbox langsam [Erledigt]
Moderator: Moderatoren
- Jan
- Marvin
- Beiträge: 14655
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
XbpListbox langsam [Erledigt]
Wenn ich Einträge per :addItem zu einer Listbox hinzufüge, dann geht das total lahm. Grob gemessen ca. 2-3 Einträge/Sekunde. Wie kann man das beschleunigen?
Jan
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
-
- 1000 working lines a day
- Beiträge: 525
- Registriert: Mi, 01. Feb 2006 16:22
- Wohnort: 06618 Naumburg
Re: XbpListbox langsam
Hallo Jan,
ich hatte das Problem mit der 1.90.331 unter Win7.
Nach einem sleep( 0.1 ) zwischen den Einträgen war das Problem weg.
Noch einen schönen Restfeiertag
ich hatte das Problem mit der 1.90.331 unter Win7.
Nach einem sleep( 0.1 ) zwischen den Einträgen war das Problem weg.
Noch einen schönen Restfeiertag
- Jan
- Marvin
- Beiträge: 14655
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: XbpListbox langsam
Hallo Peter,
super! Das ist immer noch nicht berauschend, aber ganz wesentlich schneller. Ich hab den Parameter auf 0.01 gesetzt. Damit ist eine Liste mit gut 2.000 Einträgen jetzt innerhalb von ca. 50 Sekunden fertig, vorher waren das gut 10 Minuten.
Jan
super! Das ist immer noch nicht berauschend, aber ganz wesentlich schneller. Ich hab den Parameter auf 0.01 gesetzt. Damit ist eine Liste mit gut 2.000 Einträgen jetzt innerhalb von ca. 50 Sekunden fertig, vorher waren das gut 10 Minuten.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Re: XbpListbox langsam
Moin Jan,
was passiert denn, wenn Du den Dialog (oder die Listbox) erst anzeigst, wenn die Listbox gefüllt ist? Geht das dann schneller?
Viele Grüße,
Martin
was passiert denn, wenn Du den Dialog (oder die Listbox) erst anzeigst, wenn die Listbox gefüllt ist? Geht das dann schneller?
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
-
- 1000 working lines a day
- Beiträge: 525
- Registriert: Mi, 01. Feb 2006 16:22
- Wohnort: 06618 Naumburg
Re: XbpListbox langsam
Das ist aber immer noch recht lange. Hast du dafür evtl. ein Statusanzeige laufen?Jan hat geschrieben:Damit ist eine Liste mit gut 2.000 Einträgen jetzt innerhalb von ca. 50 Sekunden fertig, vorher waren das gut 10 Minuten.
Jan
Ich hatte ähnliche Probleme bei einer Statusanzeige mit einer (versehentlich) hohen Priorität.
Bei mir dauert das Füllen einer Listbox mit dem Inhalt einer Datenbank bei ca. 3000 Einträgen nur wenige Sekunden.
Soweit ich weiss, war das auch nur ein Problem das die 1.90.331 betraf - du hast doch die aktuelle Version.
Da würde ich das Problem noch woanders suchen.
- Jan
- Marvin
- Beiträge: 14655
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: XbpListbox langsam
Peter,
stimmt. Ich habe die Fortschrittsanzeige aus dem XBPack eingebunden. Wenn ich die rausnehme dann dauert das immer noch ca. 16 Sekunden für die 2.000 Einträge. Das irritiert mich etwas, denn im Gegensatz zu meiner selbstgebauten Fortschrittsanzeige auf ActiveX-Basis schien mir die von Alaska immer sehr Verzögerungsfrei zu sein.
Jan
stimmt. Ich habe die Fortschrittsanzeige aus dem XBPack eingebunden. Wenn ich die rausnehme dann dauert das immer noch ca. 16 Sekunden für die 2.000 Einträge. Das irritiert mich etwas, denn im Gegensatz zu meiner selbstgebauten Fortschrittsanzeige auf ActiveX-Basis schien mir die von Alaska immer sehr Verzögerungsfrei zu sein.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: XbpListbox langsam
Bei allen solchen "Fortschrittsanzeigen" etc. muss man die Aufrufanzahl deulich senken,
sodass für den gesamten Vorgang maximal jeder 10. teilweise auch 100. Aufrufe angezeigt wird.
Es würde sogar reichen 1% Schritte anzuzeigen wenn man mit Schrift arbeitet.
Wobei 2000 Einträge in einer Listbox, wie soll man die auswählen, insbesondere wo das scrollen teilweise recht seltsam reagiert.
sodass für den gesamten Vorgang maximal jeder 10. teilweise auch 100. Aufrufe angezeigt wird.
Es würde sogar reichen 1% Schritte anzuzeigen wenn man mit Schrift arbeitet.
Wobei 2000 Einträge in einer Listbox, wie soll man die auswählen, insbesondere wo das scrollen teilweise recht seltsam reagiert.
Gruß
Hubert
Hubert
- Jan
- Marvin
- Beiträge: 14655
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: XbpListbox langsam
Hallo Otto,
nein. Zum Glück ist das hier nicht nötig.
Jan
nein. Zum Glück ist das hier nicht nötig.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2828
- Registriert: Fr, 10. Feb 2006 9:51
- Wohnort: Aachen
- Hat sich bedankt: 259 Mal
- Danksagung erhalten: 12 Mal
- Kontaktdaten:
Re: XbpListbox langsam
Hallo Jan,
hilft vielleicht statt eines delay auch oder sogar besser ein ProcessMessages?
Uli
hilft vielleicht statt eines delay auch oder sogar besser ein ProcessMessages?
Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
- Jan
- Marvin
- Beiträge: 14655
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: XbpListbox langsam
Moin Uli,
wie bitte meinen?
Jan
wie bitte meinen?
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: XbpListbox langsam
Mit jedem AddItem() muss die Listbox neu "kalibriert" werden, etwa, was ihren Scrollbalken anbetrifft, aber auch den nötigen Darstellungsraum. Wozu soll eine Listbox mit 20.000 Einträgen gut sein? Vernünftig suchen kann man darin jedenfalls nicht.
Herzlich,
Tom
Tom
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Re: XbpListbox langsam
Tom,
darum schlug ich ja auch vor, die Listbox zu hiden() - aber ob es was gebracht hat? Jan hat ja nicht geantwortet.
Viele Grüße,
Martin
darum schlug ich ja auch vor, die Listbox zu hiden() - aber ob es was gebracht hat? Jan hat ja nicht geantwortet.
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: XbpListbox langsam
Im Prinzip müsste man die Neuberechnung bzw. Anzeigeaktualisierung abschalten und ganz am Ende einmalig durchführen.
Ob das eine Listbox kann weiß ich aber nicht. SOOO lange Listen habe ich noch nie geladen
Ob das eine Listbox kann weiß ich aber nicht. SOOO lange Listen habe ich noch nie geladen
Gruß
Hubert
Hubert
- Jan
- Marvin
- Beiträge: 14655
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: XbpListbox langsam
Moin,
Martin: Leider hatte ich Deinen Beitrag beim ersten Lesen mißverstanden. Ich hab das erst wirklich begriffen, als Du das jetzt wiederholt hast. Und er war genau richtig. 2.000 Einträge in nicht mal 1 Sekunde! So muß das sein. Jetzt darf ich erstmal die Maximumwerte der Progressbar in den Listen wieder umschreiben
Tom: Ansich hast Du Recht. Eine Listbox in dieser Größe zu haben ist nicht unbedingt die eleganteste Lösung. Normalerweise. Hier geht es aber um etwas anderes. Ursprünglich waren das Listen, die einfach nur gedruckt wurden, inkl. einer Druckvorschau. Es kam dann aber von Anwendern die Frage, wie man denn die einzelnen Positionen bearbeiten könne (im Sinne von die Daten bearbeiten, die hinter jeder Druckzeile stehen). Also habe ich das jetzt so umgeschrieben, das jede Druckzeile ein Listbox-Element ist. Und auf Klick auf einige Pushbuttons neben der Liste kann man entweder wie gehabt die gedruckte Version erhalten, oder zu dem Datensatz hinter dem Listeneintrag springen, diesen bearbeiten, oder einzeln ausführlich ausdrucken. Und DAFÜR ist die Listbox durchaus das Richtige. Wobei die allermeisten Listen auch nur einige Dutzend Einträge haben. Die ganz lange ist eher die Ausnahme.
Jan
Martin: Leider hatte ich Deinen Beitrag beim ersten Lesen mißverstanden. Ich hab das erst wirklich begriffen, als Du das jetzt wiederholt hast. Und er war genau richtig. 2.000 Einträge in nicht mal 1 Sekunde! So muß das sein. Jetzt darf ich erstmal die Maximumwerte der Progressbar in den Listen wieder umschreiben
Tom: Ansich hast Du Recht. Eine Listbox in dieser Größe zu haben ist nicht unbedingt die eleganteste Lösung. Normalerweise. Hier geht es aber um etwas anderes. Ursprünglich waren das Listen, die einfach nur gedruckt wurden, inkl. einer Druckvorschau. Es kam dann aber von Anwendern die Frage, wie man denn die einzelnen Positionen bearbeiten könne (im Sinne von die Daten bearbeiten, die hinter jeder Druckzeile stehen). Also habe ich das jetzt so umgeschrieben, das jede Druckzeile ein Listbox-Element ist. Und auf Klick auf einige Pushbuttons neben der Liste kann man entweder wie gehabt die gedruckte Version erhalten, oder zu dem Datensatz hinter dem Listeneintrag springen, diesen bearbeiten, oder einzeln ausführlich ausdrucken. Und DAFÜR ist die Listbox durchaus das Richtige. Wobei die allermeisten Listen auch nur einige Dutzend Einträge haben. Die ganz lange ist eher die Ausnahme.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: XbpListbox langsam [Erledigt]
Hallo Jan,
für mich hört sich das eher nach einem Job für den Browser an
für mich hört sich das eher nach einem Job für den Browser an
Gruß
Hubert
Hubert
- Jan
- Marvin
- Beiträge: 14655
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: XbpListbox langsam [Erledigt]
Hallo Hubert,
in diesem Fall finde ich die Listbox interessanter. Hier mal ein Beispiel der Listen, die ich damit erzeuge: Es gibt auch noch Listen, die nach dem Nachnamen, Beruf, etc. sortiert sind. Ich finde das so sehr übersichtlich, da eine "Überschrift" immer nur dann erscheint, wenn die anders ist als die aus dem vorigen Satz.
Mir fällt aber auf, das irgendwas noch nicht richtig funktioniert: Wenn die Liste angezeigt wird, dann ist kein Satz markiert. Ich muß immer erst einmal den Cursor ab drücken, damit der erste Satz markiert ist. Merkwürdig.
Jan
in diesem Fall finde ich die Listbox interessanter. Hier mal ein Beispiel der Listen, die ich damit erzeuge: Es gibt auch noch Listen, die nach dem Nachnamen, Beruf, etc. sortiert sind. Ich finde das so sehr übersichtlich, da eine "Überschrift" immer nur dann erscheint, wenn die anders ist als die aus dem vorigen Satz.
Mir fällt aber auf, das irgendwas noch nicht richtig funktioniert: Wenn die Liste angezeigt wird, dann ist kein Satz markiert. Ich muß immer erst einmal den Cursor ab drücken, damit der erste Satz markiert ist. Merkwürdig.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- azzo
- Rekursionen-Architekt
- Beiträge: 483
- Registriert: So, 28. Mär 2010 19:21
- Danksagung erhalten: 11 Mal
Re: XbpListbox langsam [Erledigt]
>Wenn die Liste angezeigt wird, dann ist kein Satz markiert
SetFocus()
mfg
Otto
SetFocus()
mfg
Otto
- Jan
- Marvin
- Beiträge: 14655
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: XbpListbox langsam [Erledigt]
Otto,
neenee. Den Fokus hat die Liste. Sonst würde ja auch der CursorAb nicht wirken.
Jan
neenee. Den Fokus hat die Liste. Sonst würde ja auch der CursorAb nicht wirken.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2828
- Registriert: Fr, 10. Feb 2006 9:51
- Wohnort: Aachen
- Hat sich bedankt: 259 Mal
- Danksagung erhalten: 12 Mal
- Kontaktdaten:
Re: XbpListbox langsam
Jan hat geschrieben:Moin Uli,
wie bitte meinen?
Jan
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
-
- 1000 working lines a day
- Beiträge: 525
- Registriert: Mi, 01. Feb 2006 16:22
- Wohnort: 06618 Naumburg
Re: XbpListbox langsam [Erledigt]
wie wäre es mitJan hat geschrieben:Mir fällt aber auf, das irgendwas noch nicht richtig funktioniert: Wenn die Liste angezeigt wird, dann ist kein Satz markiert. Ich muß immer erst einmal den Cursor ab drücken, damit der erste Satz markiert ist. Merkwürdig.
Jan
Code: Alles auswählen
oLbox:SetData(1)