www.jammni.de

Logo - Kleiner Drache
Login
Username:

Passwort:

Daten merken
Auto-Login
Registrieren
 
Online
niemand
 
Forumsuche
Suche nach:

Logo - DracheHaskell-Forum

Kalle

Gepostet:
27.02.2010 14:27

GUI mit Glade  
Hallo zusammen,

beschäftige mich gerade mit Haskell und habe ehrlich gesagt noch fast gar keine Ahnung. Hoffentlich könnt ihr mir bei folgendem Problem helfen:

Ich habe mit Glade eine GUI erstellt und versuche jetzt diese auszuführen. Bislang stecken keine Funktionen dahinter und es geht momentan lediglich um die Anzeige.

Ich habe den folgenden Quellcode als datei.hs gespeichert und versuche
ihn über die Konsole auszuführen. Die Fehlermeldung lautet:

-->ghc.exe:2408: libglade-Warning ***Expected <glade-interface>.Got
<interface>

-->ghc.exe: 2408: did not finisch in Parser_Finisch state

Jetzt der Quellcode mit Bemerkungen:

module Main where
import Graphics.UI.Gtk
import Graphics.UI.Gtk.Glade
main = do
initGUI
-- gladeFile wird geladen
dialogXmlM <- xmlNew "spidergui.glade"
let dialogXml = case dialogXmlM of
(Just dialogXml) -> dialogXml
Nothing -> error "can't find the glade file \"spidergui.glade\" \
\in the current directory"

-- get a handle on a couple widgets from the glade file
window <- xmlGetWidget dialogXml castToWindow "window1"
button <- xmlGetWidget dialogXml castToButton "button1"

--diese Teile müssten dann auch noch angesprochen werden
-- Weiss leider nicht, ob die Begriffe entry und textview richtig sind, um sie
anzusprechen (wir so ein glade bezeichnet)
entry <- xmlGetWidget dialogXml castToEntry "entry1"
entry <- xmlGetWidget dialogXml castToEntry "entry2"
textview <- xmlGetWidget dialogXml castToTextview "textview1"
-- jetzt können wir mit dem Button arbeiten
button `onClicked` putStrLn "button pressed!"
window `onDestroy` mainQuit

-- alles zeigen
widgetShowAll window
mainGUI



Hoffe mir kann jemand helfen....

Beste Grüße

der Kalle
Zum Seitenanfang    
 
Siracusa

Gepostet:
27.02.2010 19:43

   
Hallo Kalle,

mit Glade hab ich bis jetzt noch nie gearbeitet, auf den ersten Blick scheint es aber ein Problem mit der geparsten .glade-Datei zu sein. Ein Haskell/GHC-Problem ist es nicht (obwohl die Einrückungen in deiner main-Funktion teilweise etwas "schief" aussehen). Vielleicht benutzt du eine veraltete libglade-Version? Oder nur ein Syntax-Fehler in der .glade-Datei? Letzteres scheint mir bei der Fehlermeldung am wahrscheinlichsten.


Viele Grüße,

Siracusa
Zum Seitenanfang    
 
Kalle

Gepostet:
28.02.2010 10:17

   
Ok, danke für die Antwort!
Zum Seitenanfang