verwenden Ich bin mir nicht sicher, ob ich hallo oder nicht sagen sollte, dies ist mein erster Beitrag hier.Kann nicht eine HTML-Datei mit Haskell
Wie auch immer, ich folge der Lichtung Tutorial aus der gtk2hs website. Der Code kompiliert korrekt, aber wenn ich versuche, es auszuführen, erhalte ich diesen Fehler.
(hellogtk2hs:8670): libglade-WARNING **: Expected <glade-interface>. Got <interface>.
(hellogtk2hs:8670): libglade-WARNING **: did not finish in PARSER_FINISH state
hellogtk2hs: user error (Pattern match failure in do expression at HelloGtk2Hs.hs:8:8-15)
Dies ist meine Lichtung Datei.
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<!-- interface-requires gtk+ 3.0 -->
<object class="GtkWindow" id="window1">
<property name="can_focus">False</property>
<child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="homogeneous">True</property>
<child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Write your name here: </property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="entry1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">●</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkBox" id="box2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="homogeneous">True</property>
<child>
<object class="GtkButton" id="button1">
<property name="label">gtk-apply</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="button2">
<property name="label">gtk-close</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
</interface>
Die Datei Lichtung befindet sich im selben Verzeichnis wie mein Quellcode. Der Quellcode ist eine exakte Kopie aus dem Tutorial. Ich habe noch nie zuvor mit der Lichtung gearbeitet, also habe ich keine Ahnung, was falsch läuft.
Ich musste ghc von 7,6 auf 7,4.2 herunterstufen. Ich benutze glade 3.14.1, alle anderen Pakete wurden via cabal installiert, so dass sie auf ihrer aktuellen Version sind.
Wenn ich Schnittstelle mit Glade-Schnittstelle, am Anfang und am Ende schalten Sie es noch beschwert.
(hellogtk2hs:9636): libglade-WARNING **: Unexpected element <object> inside <glade-interface>.
hellogtk2hs: user error (glade.xmlGetWidget: no object named "window1" in the glade file)
Und wenn ändern alle Objekt Tags mit Widget ich dieses
(hellogtk2hs:9668): GLib-GObject-ERROR **: cannot create instance of abstract (non-instantiatable) type `GtkBox'
`trap' para punto de parada/seguimiento
ich weniger Fehler erhalten, indem dies zu tun, aber es funktioniert immer noch nicht.
Welche Versionen der verschiedenen Komponenten haben Sie? – huon
Ich denke, das Problem ist hier: ''; gtk2hs ist gtk2-Bindung. –
(Wenn Sie eine Lösung gefunden haben, sollten Sie es als Antwort setzen und akzeptieren, damit die Frage nicht unbeantwortet bleibt. Oder @MatveyAksenov, könnten Sie Ihren Kommentar als Antwort setzen.) – huon