AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Listview erst beim zweiten öffnen

Ein Thema von greenmile · begonnen am 23. Apr 2016 · letzter Beitrag vom 25. Apr 2016
Antwort Antwort
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#1

Listview erst beim zweiten öffnen

  Alt 23. Apr 2016, 13:36
Hallo,

irgendwie stehe ich gerade auf dem Schlauch. Gegeben sind 2 Listviews in einem Multiview. Wenn man links einen Eintrag wählt, wird entsprechend rechts (zweite LV) gefüllt. Ich habe im Designer fast alles ausgeblendet und verarbeite das "UpdateObjects" Ereignis, um ein Image und einen Text hinzuzufügen. Danach wird die Liste, die sich auf/in einem Multiview befindet, angezeigt. Das Problem ist nun: Die Einträge werden erst beim zweiten Öffnen des Multiview sichtbar, beim ersten mal sind die Items einfach leer. Ich habe schon Repaint, Invalidate und co probiert. Das hat in Seattle problemlos funktioniert.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.882 Beiträge
 
Delphi 12 Athens
 
#2

AW: Listview erst beim zweiten öffnen

  Alt 24. Apr 2016, 09:13
Also du testest Rx10.1 Berlin ?

Benutzt du den MultiView mit der Slide-Funktion ?
Damit hatte ich auch unter Rx10 Probleme, weil hier Füllen und Schieben sich in die Quere kommen.
Deshalb hatte ich alle MultiViews wieder rausgeschmissen, und das manuell gemacht.

Rollo
  Mit Zitat antworten Zitat
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Listview erst beim zweiten öffnen

  Alt 24. Apr 2016, 20:46
Also du testest Rx10.1 Berlin ?

Benutzt du den MultiView mit der Slide-Funktion ?
Damit hatte ich auch unter Rx10 Probleme, weil hier Füllen und Schieben sich in die Quere kommen.
Deshalb hatte ich alle MultiViews wieder rausgeschmissen, und das manuell gemacht.

Rollo
Ja, unter DX10 gab es auch schon Probleme, irgendwie habe ich die durch eine ordentliche Portion Pfusch in den Griff bekommen. Bzw man sieht es jetzt nicht mehr. Unter 10.1 klappt das aber leider nicht, also der Pfusch kann den Pfusch nicht verbergen.

Wie hast Du es statt Multiview gelöst? Irgendwie muss ich die Listview rechts ja einblenden. Und, was mich viel mehr interessiert: Wieso machen 2 Multiviews eigentlich Probleme? Hätte gerade Lust mich mal wieder über die QS bei EMBT lustig zu machen, lasse es aber.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.882 Beiträge
 
Delphi 12 Athens
 
#4

AW: Listview erst beim zweiten öffnen

  Alt 24. Apr 2016, 21:43
Ich habe das Sliden generell stark reduziert, das sieht zwar schön aus,
macht aber den Eindruck bei der Bedienung der App auch etwas lahm.
Ohne sliden wirkt die Bedienung flotter, und ich handle mir vor Allem keine Probleme damit ein.

Ein Slide mit Panel mache ich noch, um zusätzliche Bedienfunktionen anzuzeigen.
Das fahre ich einfach rein/raus mithilfe einer FloatAnimation (von unten rein in Position,
und wieder nach unten weg).
Das klappt ganz gut, aber womöglich nur weil ich in der Zeit nichts anderes machen muss.

Wenn z.B. der MultiView slidet, und ich parallel mit dem slidenden View noch die Datenbank aktiviere
und per LiveBindings in eine ListView schreiben lasse, dann ruckelt es.
Das scheint sich nicht so einfach entkoppeln zu lassen, die Wahl ist
- entweder alles vorherberechnen und geöffnet lassen - dann slidet es gut - braucht aber vollen Memory Footprint
(und braucht nach dem Start länger um alles vorzubereiten)
- oder das Sliden weglassen - und bei lägeren Operationen einen Animator zeigen.
(weil z.B. FormCreate eigentlich schnell genug funktioniert ist das kaum nötig)

Übrigens ruckelt der AniIndicator genauso, wohl aus dem gleichen Grund.
Deshalb lege ich bei solchen Wartezeiten noch zusätzlich einen grauen, Opaque 0.7 Panel über den ganzen View.
In dem sitzt dann der AniIndicator (der ruckeln kann).
Damit sieht dann zumindest etwas interessanter aus, wenn kurze Wartezeiten nötig sein, und das Ruckel
fällt nicht so auf.

Ich bin generell etwas vorsichtig bei den Animation geworden, weil wohl einige mit
Application.ProcessMessages funktionieren.
Threads und Tasks sind eine tolle Sache, aber schlussendlich muss es immer wieder an UI Controls übergeben
werden, und da kann es dann wieder hängen.

Hatte mal versucht möglichst alles in Backgroundthreads zu verlegen, und dann nur die UI-Zugriffe zu synchronisieren.
Das funktioniert ganz gut, aber die meisten Zugriffe sind halt die UI-Controls, ob sich ein Thread für
ein paar Hintergrundaufgaben lohnt ist mir noch nicht ganz klar.
Hängt wahrscheinlich vom jeweiligen Problem ab.
Ich möchte baer gar nichts Besonderes, sondern erstmal nur ein DataSet mit einem ListView verbinden,
ohne das es hängt.
Bei 20 Text-Einträgen geht das Alles auch, bei 2000 mit Bitmaps sieht es aber schon anders aus.

Rollo
  Mit Zitat antworten Zitat
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Listview erst beim zweiten öffnen

  Alt 25. Apr 2016, 09:13
Danke für die ausführliche Antwort, ich denke ich werde es einfaden.

Das (mein) Problem bei Delphi ist doch: Jetzt entwickel ich einen Workaround. Alle 6 Monate darf ich aber wieder alle Workarounds prüfen, ob die A) noch funktionieren und/oder B) der eigentliche Fehler vielleicht inzwischen behoben wurde. Das macht mich echt noch wahnsinnig, weil es sau-aufwendig ist. Und es knallt dann an Ecken, an denen man es nicht vermutet.

Liebe Entwickler von EMBT: Lasst Euch doch lieber mehr Zeit und macht es dafür vernünftig. Schaut mal bei anderen Firmen nach wie die es lösen. So ein Chaos mit "heute funktioniert es nur mit einem Workaround", "Morgen funktioniert weder Workaround noch die eigentliche Funktion", "Übermorgen brauche ich einen anderen Workaround" gibt es echt nirgendwo. Hört auf, Funktionen und Konstanten quer durch die Unit-Welt zu verschieben oder gar umzubenennen. Hört auf mit Pfusch, der in der nächsten Version zwar auch gepfuscht ist, aber wieder anders. Oder aktualisiert endlich mal ältere Versionen damit ich nicht gezwungen bin, immer die neueste Version verwenden zu müssen, nur damit Android X und MacOS Y unterstützt wird.
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.753 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Listview erst beim zweiten öffnen

  Alt 25. Apr 2016, 09:16
Amen!

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: Listview erst beim zweiten öffnen

  Alt 25. Apr 2016, 09:19
Sorry, könnte aber gerade kotzen weil ich wieder Zeit mit pfuschen verplempern muss, die ich eigentlich kaum habe.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.882 Beiträge
 
Delphi 12 Athens
 
#8

AW: Listview erst beim zweiten öffnen

  Alt 25. Apr 2016, 11:02
Diese Phase habe ich zum Glück seit Dezember hinter mir

Hoffentlich bleibt es so (auch wen ich 10.1 Berlin installiert habe).

Allerdings kommt ein bischen leichte Übelkeit hier und da immer mal mal wieder auf

Einfach was gegen Reisekrankheit einnehmen und weitermachen

Rollo
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:51 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