[erledigt] Warum wird der LV-Aufbau verzögert ?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
scholly
Beiträge: 793
Registriert: 04.11.2005 21:30
Wohnort: Düsseldorf

[erledigt] Warum wird der LV-Aufbau verzögert ?

Beitrag von scholly »

Wenn ich dem Code das Gosub erlaube, dauert der Aufbau des Gadgets wesentlich länger als wenn ichs auskommentiere.

Code: Alles auswählen

DisableDebugger
If OpenWindow(0, 50, 50, 300, 600, "weekly charts", #PB_Window_SystemMenu) And CreateGadgetList(WindowID(0))
  result = ListViewGadget(2, 10, 10, 280, 580)
  
  Gosub seitenholen
  
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
  
Else
  MessageRequester("ooops", " Fenster oder Gadgetlist konnten nicht erstellt werden", 0)
EndIf

End

seitenholen:
;#########################################################################################
;{
  If URLDownloadToFile_(0,"http://www.mtvhome.de/hitlistgermany/index.php","d:\__incoming\4_p3\mtv_ger_100.html",0,0) = #S_OK
    AddGadgetItem(2,-1,"ger 100 geladen")
    Debug "ger 100 geladen"
  Else
    AddGadgetItem(2,-1,"ger 100 nicht geladen")
    Debug "ger 100 nicht geladen"
  EndIf
;}
  Return; seitenholen
Wo liegt der Fehler ?

irritiert..
scholly
Zuletzt geändert von scholly am 17.05.2008 17:05, insgesamt 1-mal geändert.
Ich bin blutiger PB-Anfänger.
seit 17.12.08: PB 4.3 unter XP Home(SP3)
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Warum wird der LV-Aufbau verzögert ?

Beitrag von Kiffi »

> Wo liegt der Fehler ?

ist das jetzt eine Fangfrage?

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
scholly
Beiträge: 793
Registriert: 04.11.2005 21:30
Wohnort: Düsseldorf

Re: Warum wird der LV-Aufbau verzögert ?

Beitrag von scholly »

Kiffi hat geschrieben:ist das jetzt eine Fangfrage?
Mitnichten.
Kann sein, daß ich zu doof bin, aber wenn ich NICHT ins Unterprogramm springe, wird das Listview sodort aufgebaut.
Wenn ich aber die Webseite downloade, dauerts erheblich und das dürfte vom Programmablauf IMHO nicht sein.
Im Unterprogramm stehen normalerweise 10 Chart-Seiten, sodaß ich es extrem merke.
Wenn ich dann noch den Debugger zulasse, steht der Output da drin, bevor das LV aufgebaut ist.
Versteh ich nich....
Ich bin blutiger PB-Anfänger.
seit 17.12.08: PB 4.3 unter XP Home(SP3)
a14xerus
Beiträge: 1440
Registriert: 14.12.2005 15:51
Wohnort: Aachen

Beitrag von a14xerus »

ich verstehe dein Problem nicht.
Es ist doch klar, das es dauert bis alles runtergeladen ist.
was ist denn dadran komisch????
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

vor dem gosub am besten ein:

Code: Alles auswählen

while windowevent() : wend
einbauen.
oder Fenster erst anzeigen, nach dem gosub.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
scholly
Beiträge: 793
Registriert: 04.11.2005 21:30
Wohnort: Düsseldorf

Beitrag von scholly »

a14xerus hat geschrieben:ich verstehe dein Problem nicht.
Es ist doch klar, das es dauert bis alles runtergeladen ist.
was ist denn dadran komisch????
Daß das Listview nicht erst aufgebaut und nach und nach gefüllt wird, sondern das Fenster leer bleibt, während im Debug-Fenster schon output zu sehen ist und dann irgendwann das LV mit allen Einträgen auftaucht.

Normalerweise sollte das Fenster aufgehen, das leere LV gezeichnet werden und Zeile für Zeile VOR dem Debug-Fenster beschrieben werden.
Ich bin blutiger PB-Anfänger.
seit 17.12.08: PB 4.3 unter XP Home(SP3)
Benutzeravatar
scholly
Beiträge: 793
Registriert: 04.11.2005 21:30
Wohnort: Düsseldorf

Beitrag von scholly »

ts-soft hat geschrieben:vor dem gosub am besten ein:

Code: Alles auswählen

while windowevent() : wend
einbauen.
Ändert sich nix.
Zuletzt geändert von scholly am 17.12.2006 22:14, insgesamt 1-mal geändert.
Ich bin blutiger PB-Anfänger.
seit 17.12.08: PB 4.3 unter XP Home(SP3)
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

>> Normalerweise sollte das Fenster aufgehen, das leere LV gezeichnet werden und Zeile für Zeile VOR dem Debug-Fenster beschrieben werden.

Die geschieht nur, wenn auch die Ereignisse abgearbeitet werden, das
werden sie in deinem code aber erst nach allem!

ansonsten siehe mein vorheriges posting
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
a14xerus
Beiträge: 1440
Registriert: 14.12.2005 15:51
Wohnort: Aachen

Beitrag von a14xerus »

ich glaueb ein setgadgettext erzeugt ein windowevent, welches bei dir aber im gosub nicht abgefragt wird, aber ohen die events auszuwerten würde ich auch nicht windowevent() aufrufen, das gehört NUR in die Event schleife, das laden kann ja in einen Thread
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

@a14xerus
jemanden, der offentsichtlich die Bedeutung der Ereignisbeabeitung noch nicht verstanden hat, kann man nicht zu threads raten.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten