Seite 3 von 3

Re: Aktualisierung eines ListIconGadgets trotz offenem Menü?

Verfasst: 17.03.2010 15:03
von alDo
Tach auch, hab noch ne Frage zum ListIconGadget. Hat jemand Erfahrungen gesammelt in Bezug auf die maximale Anzahl von Einträgen im ListIconGadget? In meinem HP werden nämlich immer neue Einträge hinzugefügt. Doch irgendwann bei ca. 2500 Einträgen war Schluss und mein Programm hat sich aufgehängt. Hat jemand evtl. eine genaue Zahl um dieses Verhalten vorher abzufangen?

Gruss alDo

Re: Aktualisierung eines ListIconGadgets trotz offenem Menü?

Verfasst: 17.03.2010 15:17
von ts-soft
Ich denke mal nicht, das es an den 2500 Einträgen lag.

Code: Alles auswählen

OpenWindow(0, #PB_Ignore, #PB_Ignore, 640, 480, "Test", #PB_Window_SystemMenu)
ListIconGadget(0, 10, 10, 620, 460, "Test", 100)
For i = 0 To 10000
  AddGadgetItem(0, i, "item: " + Str(i))
Next

While WaitWindowEvent() <> #PB_Event_CloseWindow : Wend
Hier sind 10000, die laufen problemlos.
Ein bissel Code wäre schon erforderlich um dem Problem auf die Schlieche zu kommen.
Wenn Du z.B. per API Icons austauscht und alte nicht entsorgst o. ä., gibts nen IMA.
Aber alle Möglichkeiten hier zu erraten bringt es nicht :)

Re: Aktualisierung eines ListIconGadgets trotz offenem Menü?

Verfasst: 17.03.2010 15:56
von alDo
Bin gerade noch am Testen wann Fehler auftritt. Komischerweise funktionierts jetzt. Bin gerade bei 11000 Einträgen. Scheint wohl nicht so leicht reproduzierbar zu sein oder hatte andere Gründe warum mein Programm abgerauscht ist. An sich dürfte es doch so eine maximale Einträge-Grenze nicht geben oder? (Ausser wenn der Speicher voll ist :roll: )
ts-soft hat geschrieben:Wenn Du z.B. per API Icons austauscht und alte nicht entsorgst o. ä., gibts nen IMA.
API benutz ich nich. (ausser deinen Timer :D ) Benutze einfach AddGadgetItem und füge neue Einträge hinzu, wenn ich eine Nachricht über die serielle Schnittstelle erhalte.

Gruss alDo

Re: Aktualisierung eines ListIconGadgets trotz offenem Menü?

Verfasst: 18.03.2010 00:12
von mk-soft
Ich würde Datenempfang und die Verarbeitung nicht über TimerProg abarbeiten.
Dazu verwende ich immer Threads. Bei richtiger Anwendung führt diese auch zu keine Probleme.
Weiss garnicht warum Threads immer verteufelt werden.
Auch das füllen von IconList oder andere Gadgets gehen aus Threads ohne weiteres.
Das anlegen der Gadgets muss aber im Main erfolgen.

FF :wink: