के साथ एक ग्लैड एक्सएमएल फ़ाइल का उपयोग नहीं कर सकता है, मुझे यकीन नहीं है कि मुझे हाय कहना चाहिए या नहीं, यह मेरी पहली पोस्ट है।हैकेल
वैसे भी, मैं gtk2hs website से ग्लैड ट्यूटोरियल का अनुसरण कर रहा हूं। कोड ठीक से संकलित किया गया है लेकिन जब मैं इसे निष्पादित करने का प्रयास करता हूं तो मुझे यह त्रुटि मिलती है।
(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)
यह मेरी ग्लेड फ़ाइल है।
<?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>
ग्लाइड फ़ाइल मेरे स्रोत कोड के समान निर्देशिका में है। स्रोत कोड ट्यूटोरियल में से एक की एक सटीक प्रति है। मैंने पहले कभी ग्लेड के साथ काम नहीं किया है, इसलिए मुझे कोई जानकारी नहीं है कि क्या गलत हो रहा है।
मुझे ghc को 7.6 से 7.4.2 तक डाउनग्रेड करना पड़ा। मैं glade 3.14.1 का उपयोग कर रहा हूं, अन्य सभी पैकेज कैबल के माध्यम से स्थापित किए गए थे ताकि वे अपने वर्तमान संस्करण पर हों।
अगर मैं Glade इंटरफ़ेस साथ स्विच इंटरफ़ेस, शुरुआत में और अंत यह अभी भी शिकायत पर।
(hellogtk2hs:9636): libglade-WARNING **: Unexpected element <object> inside <glade-interface>.
hellogtk2hs: user error (glade.xmlGetWidget: no object named "window1" in the glade file)
और अगर परिवर्तन विजेट के साथ सभी वस्तु टैग मैं इस
(hellogtk2hs:9668): GLib-GObject-ERROR **: cannot create instance of abstract (non-instantiatable) type `GtkBox'
`trap' para punto de parada/seguimiento
मैं ऐसा करने से कम त्रुटियों मिल पाने लेकिन यह अभी भी काम नहीं करता।
आपके पास विभिन्न घटकों के कौन से संस्करण हैं? – huon
मुझे लगता है कि समस्या यहां है: ''; gtk2hs gtk2 बाध्यकारी है। –
(यदि आपको कोई समाधान मिल गया है, तो आपको इसे उत्तर के रूप में रखना चाहिए और इसे स्वीकार करना चाहिए, ताकि प्रश्न अनुत्तरित के रूप में नहीं छोड़ा जा सके। या @MatveyAksenov, आप अपनी टिप्पणी को उत्तर के रूप में डाल सकते हैं।) – huon