Ausgabeproblem

Für allgemeine Fragen zur Programmierung mit PureBasic.
Skiller
Beiträge: 151
Registriert: 04.02.2005 22:26

Ausgabeproblem

Beitrag 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
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Ausgabeproblem

Beitrag 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
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
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

Re: Ausgabeproblem

Beitrag 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.
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
Skiller
Beiträge: 151
Registriert: 04.02.2005 22:26

Re: Ausgabeproblem

Beitrag von Skiller »

Ja, genau so!!!
Ich Blödmann dachte immer jedes fenster braüchte zwingend seinen eigenen Loop.
Danke noch mal!!!! :allright:
Antworten