2015-06-04 10 views
6

मैं अपने डायलॉग में चेकबॉक्स जोड़ना चाहता हूं। डीबगमेंसंवाद में चेकबॉक्स जोड़ने और मूल्य प्राप्त करने के लिए कैसे?

Dialog dialog; 
DialogField dialogField; 
NoYesId checkValue; 
; 
dialog = new Dialog("New dialog with checkBox"); 

dialogField = dialog.addFieldValue(identifierStr(NoYes) , checkValue); 
checkValue= dialogField.value(); 
dialog.run(); 
info(strfmt("Value %1" , checkValue)); 

तो, मैं चर (checkValue) का मूल्य भी देख हमेशा सं:

मैं इस कोड का इस्तेमाल किया।

वेब ट्यूटोरियल पर मैं इस कोड को देखा:

dialog.addFieldValue(typeid(NoYes), NoYes::Yes, "tip"); 

लेकिन एक त्रुटि विधि typeid मौजूद नहीं रहा है।

रास्ता क्या है? धन्यवाद सभी,

आनंद लें!

उत्तर

8

आप विस्तारित डेटा प्रकारों (ईडीटी) पर (एएक्स 200 9 और पहले) या extendedTypeStr (एएक्स 2012) का उपयोग कर सकते हैं, NoYes जैसे एनम्स नहीं। इसका उपयोग NoYesId पर किया जा सकता है, क्योंकि यह एक ईडीटी है।

dialog.addFieldValue(typeid(NoYesId), NoYes::Yes, "Check"); 

आपको मूल्य प्राप्त करने से पहले आपको कॉल करना होगा।

Dialog dialog = new Dialog("New dialog with checkBox"); 
NoYesId checkValue = NoYes::No; 
DialogField dialogField = dialog.addFieldValue(extendedTypeStr(NoYesId), checkValue, "Check it"); 
if (dialog.run()) 
{ 
    checkValue = dialogField.value(); 
    info(strfmt("Value %1" , checkValue)); 
} 
+0

मदद @JanB के लिए धन्यवाद। Kjeldsen – ulisses

-1

extendedTypeStr के बजाय identifierStr मेरे लिए काम किया (कुल्हाड़ी 2012)

+0

इससे सबसे अच्छा अभ्यास चेतावनी होगी "अधिक विशेष आंतरिक कार्यक्षमता के उपयोग पर विचार करें" –

0

अगर बढ़ाया डेटा प्रकार enum के लिए मौजूद नहीं है आप enumStr() उपयोग कर सकते हैं, जैसे:

dialogField = dialog.addFieldValue(enumStr(NoYes), checkValue); 
संबंधित मुद्दे