Seite 1 von 1

Ausgabeproblem

Verfasst: 20.02.2012 19:46
von Skiller
Hallo Folks,

Wollte in der EXE eine Ausgabe in einem 2. Fenster anzeigen lassen.
Das ListViewGadget wird durch AddGadgetItem im 1. Fenster nur gespeist, und nicht
angezeigt werden. Im 2. Fenster soll ähnlich der Debuggerausgabe der Inhalt im ListViewGadget
ständig aktualisiert dargestellt werden.
Ich krieg´s irgendwie net hin.

Für jeden Hinweis offen!! :D

Code: Alles auswählen

#ListView = 99

Procedure _OpenListViewGadget(lVisible)
  Protected a
  If OpenWindow(1, 0, 0, 405, 140, "ListViewGadget Output", #PB_Window_SystemMenu | #PB_Window_ScreenCentered,WindowID(0))
    HideWindow(1, lVisible)
    ListViewGadget(#ListView, 2, 2, 400, 120)
    Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
  EndIf 
EndProcedure

If OpenWindow(0, 20, 20, 600, 400, "ListViewGadget Input", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  _OpenListViewGadget(1)
  ListViewGadget(#ListView, 2, 2, 400, 120)
  HideWindow(1, 0)          
  SetActiveWindow(1)
  For a = 1 To 12
     AddGadgetItem (#ListView, 1, "TestInputs =" + Str(a) )  
  Next
  SetActiveWindow(0)
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf 

End

Gruß Skiller

Re: Ausgabeproblem

Verfasst: 20.02.2012 19:57
von RSBasic
Meinst du etwa so?

Code: Alles auswählen

;EnableExplicit

Define EventID
Define a

Procedure Window1_Debug()
  If OpenWindow(1,0,0,300,200,"Debug",#PB_Window_SystemMenu|#PB_Window_WindowCentered,WindowID(0))
    ListViewGadget(99,0,0,WindowWidth(1),WindowHeight(1),0)
    
  EndIf
  
EndProcedure

If OpenWindow(0,0,0,500,400,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  Window1_Debug()
  SetActiveGadget(99)
  
  Repeat
    EventID=WaitWindowEvent(100)
    ;Test
    a+1
    AddGadgetItem(99,-1,"TestInputs =" + Str(a),0,0)
    SetGadgetState(99, a-1)
    If EventID = #PB_Event_CloseWindow
      End
    EndIf
  ForEver
EndIf

Re: Ausgabeproblem

Verfasst: 20.02.2012 19:58
von ts-soft
So ganz habe ich das nicht verstanden, aber obiger Code kann schon mal nicht funktionieren, da Du 2 EventLoops verwendest!
Entweder ein EventLoop, mit EventWindow() dann unterschieden, oder das zweite Fenster in einen Thread.

Re: Ausgabeproblem

Verfasst: 20.02.2012 20:55
von Skiller
Ja, genau so!!!
Ich Blödmann dachte immer jedes fenster braüchte zwingend seinen eigenen Loop.
Danke noch mal!!!! :allright: