مشاكل مع #استيراد .صافي الخروج من بروك الخادم

StackOverflow https://stackoverflow.com/questions/12716

  •  08-06-2019
  •  | 
  •  

سؤال

في C++ برنامج أنا أحاول #استيراد TLB من .صافي الخروج من بروك الخادم.

أحصل على أخطاء مثل:

z:\server.tlh(111) :خطأ C2146:خطأ في بناء الجملة :مفقودة ';' قبل معرف 'GetType'

z:\server.tlh(111) :خطأ C2501:'_TypePtr' :في عداد المفقودين التخزين فئة أو نوع محددات

z:\server.tli(74) :خطأ C2143:خطأ في بناء الجملة :مفقودة ';' قبل 'الوسم: id'

z:\server.tli(74) :خطأ C2433:'_TypePtr' :inline لا يجوز على الإعلانات البيانات

z:\server.tli(74) :خطأ C2501:'_TypePtr' :في عداد المفقودين التخزين فئة أو نوع محددات

z:\server.tli(74) :خطأ فادح C1004:نهاية غير متوقعة من العثور على الملف

على TLH تبدو مثل:

_bstr_t GetToString();
VARIANT_BOOL Equals (const _variant_t & obj);
long GetHashCode();
_TypePtr GetType();
long Open();

أنا لست مهتما حقا في وجود قاعدة الكائن .صافي أساليب الكائن مثل GetType () يساوي () ، الخ.ولكن GetType() ويبدو أن تسبب مشاكل.

بعض google تشير الأبحاث إلى يمكنني #import mscorlib.tlb (أو وضعه في مسار), ولكن لا أستطيع أن تجمع أيضا.

أي نصائح ؟

هل كانت مفيدة؟

المحلول 3

وأضاف no_namespace و raw_interfaces_only إلى بلدي #الاستيراد:

#import "server.tlb" no_namespace named_guids

أيضا باستخدام TLBEXP.EXE بدلا من REGASM.EXE يبدو أن تساعد في هذه المسألة.

نصائح أخرى

#import "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorlib.tlb" was the solution for me.

أكثر ofenly, عندما مقابل الالتزام com المصدر إلى tlb في تلميح مثل هذا:// #import "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorlib.tlb" فهذه إضافة هذا StdAfx.ساعة قبل #inport youOwn.tlb the basice المنشأة مثل _Type, _ObjRef وأضاف في مشروع بروتو نوع

أعتقد أنه سوف يحل لك المشكلة.

ولكن المشكلة الأكبر هي :بعد كل شيء القيام به ، أن يكون هناك بعض أخطاء وقت التشغيل عند استدعاء Ptr في البرنامج

أي شخص يمكن أن تساعد ؟

يبدو أن تحتاج إلى استخدام

[ClassInterface(ClassInterfaceType.None)]

هنا نقاش آخر حول مشكلة مشابهة.

أيضا, تأكد من الفئة C# لا يملك هذه السمة:

[ClassInterface(ClassInterfaceType.AutoDual)] <-- يبدو أن يسبب أخطاء في C++ مع _TypePtr

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top