2012-05-25 10 views
5

के लिए आवश्यक है। खैर, मुझे पता है कि इस प्रश्न के पहले 10 मिनट के भीतर बंद होने का एक अच्छा मौका है, लेकिन मैं इसे किसी भी तरह से पूछने जा रहा हूं क्योंकि मैंने लगभग डेढ़ घंटे बिताए हैं ताकि समाधान ढूंढने की कोशिश की जा सके। फिर भी, मैं इसे एक नहीं समझ सकता। इस पर इंटरनेट पर एचएएसपी (सफनेट) वेबसाइट पर भी ज्यादा जानकारी नहीं है, हालांकि उनके पास डेमो हैं।एचएसपी एचएल कामकाजी डेमो सी #

मेरे पास एक HASP एचएल यूएसबी डोंगल है। मैं अपने डेमो को बदलने और परीक्षण चलाने की कोशिश करता हूं लेकिन मेरे जीवन के लिए मैं इसे लॉगिन करने के लिए भी नहीं मिल सकता। यह को बढ़ा रहा है Aladdin.HASP.HaspStatus.HaspDotNetDllBroken अपवाद।

हालांकि, अगर मैं उनके डेमो के सी संस्करण को चलाता हूं, तो यह पूरी तरह से काम करता है।

Aladdin.HASP; 
HASP myHasp = new HASP(); 
var thestatus = myHasp.Login(vender_code); 
myHasp.Logout; 

मैं यूएसबी कुंडी के लिए लॉग इन और उसके HaspID और उसके स्मृति में सेटिंग्स प्राप्त करना चाहते हैं:

यहाँ मेरी कोड की कोई तिथि नहीं संस्करण है।

अग्रिम धन्यवाद,

उत्तर

3

यह हो सकता है कि आप कुंडी क्रम के लिए सभी निर्भरता होने नहीं कर रहे हैं। मैं अनुप्रयोग के साथ पैकिंग कर रहा हूँ:

hasp_windows_NNNNN.dll (NNNNN = your number) 
hasp_net_windows.dll 
MSVCR71.DLL (added manually) 
msvc runtime 80 

एक क्रम पुस्तकालय कुंडी के लिए आवश्यक है और यह आप जो एक नहीं बताता है जब तक आप इसे Depends.exe उपयोगिता में डाल (आप शायद अपने दृश्य स्टूडियो पर आप स्थापना)।

में लॉग इन करने (और कुछ बाइट्स पढ़ें):

  byte[] key = new byte[16]; 
      HaspFeature feature = HaspFeature.FromFeature(4); 
      string vendorCode = "your vendor string, get it from your tools"; 
      Hasp hasp = new Hasp(feature); 
      HaspStatus status = hasp.Login(vendorCode); 
      if (HaspStatus.StatusOk != status) 
      { 
       // no license to run 
       return false; 
      } 
      else 
      { 
       // read some memory here 
       HaspFile mem = hasp.GetFile(HaspFileId.ReadOnly); 
       mem.Read(key, 0, 16); 
       status = hasp.Logout(); 
       if (HaspStatus.StatusOk != status) 
       { 
        //handle error 
       } 
      } 

आशा है कि यह मदद करता है। मेरा HASPED सॉफ़्टवेयर एक आकर्षण की तरह काम करता है। बीटीडब्लू, सेटिंग्स के संयोजन के तहत .NET ऐप के चारों ओर लिफाफा लगाने में सक्षम नहीं था।

+0

डैनियल, आपके उत्तर के लिए धन्यवाद, लेकिन मैं अभी भी इसे काम नहीं कर सकता। जब भी मैं अपनी संदर्भ सूची में MSVCR71.dll जोड़ने का प्रयास करता हूं, तो संकलक संदेश उठाता है "ऑब्जेक्ट ऑब्जेक्ट की वर्तमान स्थिति के कारण मान्य नहीं है।" मुझे यकीन नहीं है क्यों। एकमात्र डीएलएल फ़ाइल है जिसे मैं hasp_net_windows.dll के संदर्भ में जोड़ने में सक्षम हूं। – ThN

+0

वह अप्रबंधित डीएल है और इस प्रकार संदर्भ के रूप में जोड़ा नहीं जा सकता है। बस इसे निष्पादन योग्य फ़ोल्डर में डाल दें। इसके अलावा, किसी भी अनुपलब्ध आश्रित DLL को खोजने के लिए depend.exe का उपयोग करें जो आपको चाहिए। –

+0

डैनियल, मैं केवल hasp_net_windows.dll और MSVCR71.dll ढूंढने में सक्षम था और आपके द्वारा की गई है hasp_windows_NNNNN.dll नहीं। क्या मुझे इंटरनेट से लापता डीएलएल फाइल डाउनलोड करने की ज़रूरत है? मुझे मिली फाइलें निष्पादन योग्य फ़ोल्डर में हैं। फिर भी, मुझे एक ही अपवाद मिल रहा है। मैं Depends.exe चला गया और यह शिकायत करता रहता है कि IEShims.dll गुम है, भले ही यह मेरे सिस्टम में पाया गया हो। – ThN