से विधियों और गुणों को सही तरीके से कैसे छिपाना है, क्या किसी को भी कॉल करने की क्षमता को संरक्षित करते समय इंटेलिजेंस से कक्षाओं, विधियों और गुणों को सही ढंग से छिपाने के तरीके को जानेंगे; और इसलिए वे एक प्रकार पुस्तकालय से उत्पन्न इंटरऑप असेंबली में प्रकट नहीं होते हैं?इंटेलिजेंस
मैं स्वचालित परीक्षण के लिए एपीआई हुक लिख रहा हूं, हम अभी तक उपभोक्ताओं के संपर्क में नहीं आना चाहते हैं। ऐसा लगता है कि सैकबासिक संपादक में निर्मित हमारे आवेदन के साथ आता है, लेकिन हमारे इंटरऑप असेंबली में कोई संदर्भ जोड़ा जाने पर ऑब्जेक्ट्स, विधियों और गुणों को छिपाने में विफल रहता है।
यहां एक उदाहरण दिया गया है कि मैं इन्हें छिपाने का प्रयास कैसे कर रहा हूं; विभिन्न क्रमिक प्रयासों की कोशिश की गई है, अग्रिम धन्यवाद!
[
object,
uuid(guid),
helpstring("help"),
version(ver),
dual,
nonextensible,
oleautomation,
pointer_default(unique)
]IApplication.VisibleObj
interface IObj : IDispatch
{
//tried [hidden] here, no luck
[propget, id(91001), helpstring("Help str. Available as of Object Model Version X.X.X."), hidden]//again tried [hidden] here, no luck
HRESULT Obj([out, retval] IObj** ppObj);
}
तुम क्यों निर्यात कर सकता हूं, जिसे आप नहीं देखना चाहते हैं? बस इसे निर्यात न करें! – Andrey
आंशिक रूप से क्योंकि एप्लिकेशन डेवलपर्स ने मुझे आंतरिक तर्क (कल) और आंशिक रूप से उपयोग करने के तरीके के बारे में सिखाया है क्योंकि डेटा मॉडल अन्यथा अंतिम उपयोगकर्ता से दूर रखा जाता है। हमारा परीक्षण ढांचा हमारे आवेदन के साथ उसी तरह से बातचीत करता है जैसे हम तीसरे पक्ष के डेवलपर्स की अपेक्षा करेंगे। – BrMcMullin