كيفية الاتصال إلى تجميع.NET في Visual Basic أو Visual Basic 2005 من Visual Basic 6.0

مقدمة

توضح هذه المقالة كيفية استخدام Microsoft Visual Basic.NET أو Microsoft Visual Basic 2005 لإنشاء تجميع مدار يمكن استدعاؤها من Microsoft Visual Basic 6.0.

مزيد من المعلومات

المبادئ التوجيهية المتعلقة بعرض أنواع.NET ل COM

إذا كنت ترغب في عرض أنواع في تجميع Microsoft.NET لتطبيقات طراز كائن المكون (COM)، خذ بعين الاعتبار المتطلبات توافق COM التالية في وقت التصميم. الأنواع المدارة (فئة واجهة، بنية، التعدادوآخرون) التفاعل مع تطبيقات عميل COM عند اتباع هذه الإرشادات:
  • تعريف الواجهات وتنفيذها بشكل صريح في الفصول الدراسية. توافق COM توفر إليه لإنشاء واجهة تحتوي على كافة أعضاء الفئة وأعضاء الفئة الأساسية الخاصة به تلقائياً. ومع ذلك، فمن الأفضل توفير واجهات صريحة وتنفيذها بشكل صريح.
  • قم بتعريف الأنواع المدارة كافة التي تريد أن يعرض COM كعام. يتم تسجيل الأنواع العامة فقط في تجميع وتصديرها إلى مكتبة النوع. لذلك، الأنواع العامة فقط مرئية ل com.
  • قم بتعريف كافة أعضاء النوع (أساليب وخصائص، الحقول والأحداث) الذي تريد أن يعرض COM كعام. يجب أن تكون عضوا في الأنواع العامة العام مرئية ل com. افتراضياً، تكون كافة الأنواع واﻷعضاء العامة مرئية. استخدام السمة كومفيسيبليتريبوتي إذا كان لديك لإخفاء نوع أو عضو من رؤية نوع أو عضو التحكم لتطبيقات عميل COM.
  • يجب أن يكون لديك أنواع منشئ افتراضي إنشاء مثيل من خلال الإدارة com.، الأنواع العامة مرئية ل com. ومع ذلك، دون منشئ افتراضي عام (البناء دون وسائط) عملاء COM لا يمكن إنشاء مثيل من النوع. لا يزال استخدام عملاء COM النوع إذا تم إنشاء مثيل النوع بطريقة أخرى ويتم إرجاع المثيل لعميل COM. قد تتضمن المنشئات overloaded قبول وسائط مختلفة لهذه الأنواع. ومع ذلك، يمكن استدعاء المنشئات التي تقبل وسائط فقط من التعليمات البرمجية المدارة (.NET).
  • لا يمكن أن تكون أنواع مجردة. عملاء.NET تتحمل عملاء COM إنشاء مثيلات لأنواع مجردة.
  • استخدام قالب كومكلاس في Visual Basic.NET أو في Visual Basic 2005. عند إضافة فئة جديدة التي ترغب في عرضها إلى تطبيقات COM، ضع في اعتبارك استخدام قالب كومكلاس التي يتم توفيرها من قبل Visual Basic.NET أو بواسطة Visual Basic 2005. إنشاء قالب كومكلاس فئة السمة COMClassAttribute ويقوم بإنشاء Guid لمعرف الحدث التي يتم كشفها بواسطة النوع الخاص بك ومعرف الواجهة CLSID. بالإضافة إلى ذلك، ينشئ القالب كومكلاس دالة إنشائية عامة دون معلمات. هذا هو أسهل طريقة لإنشاء فئة جديدة يتبع المبادئ التوجيهية لإنشاء أنواع COM القابل للاستدعاء.

تسجيل تجميع.NET لتوافق COM وإنشاء مكتبة نوع

Visual Basic 6.0 للتعامل بنجاح مع مكونات مدارة، يجب تسجيل التجميع لتوافق COM وإنشاء مكتبة نوع. يجب أن يتم تسجيل هذا على كل كمبيوتر حيث يتفاعل تطبيق عميل COM مع التجميع. توفر مكتبة النوع نوع المعلومات حول الأنواع المكشوفة في التجميع لتطبيقات عميل COM. تعتمد عملية للقيام بذلك على إذا كنت تعمل على الكمبيوتر أو على كمبيوتر الوجهة.

على كمبيوتر التطوير، Microsoft Visual Studio.NET أو Microsoft Visual Studio 2005 تلقائياً بإنشاء مكتبة أنواع ويسجل أثناء عملية البناء إذا
يتم تحديد خانة الاختيار تسجيل لتوافق COM ضمن خصائص تكوين المشروع. إذا كنت تستخدم قالب كومكلاس عندما قمت بإنشاء الفئة، Visual Studio.NET أو Visual Studio 2005 تلقائياً بتحديد خانة الاختيار تسجيل لتوافق COM . تأكد من تحديد خانة الاختيار تسجيل لتوافق COM في Visual Studio.NET أو في Visual Studio 2005، اتبع الخطوات التالية:
  1. يبدأ Visual Studio.NET أو Visual Studio 2005.
  2. فتح الحل الذي يحتوي على المشروع الذي تريد إنشاء توافق COM.
  3. في القائمة عرض ، انقر فوق "مستكشف الحلول".
  4. في "مستكشف الحلول"، انقر فوق المشروع الذي تريد إنشاء لتوافق COM، ثم انقر فوق
    خصائص.
  5. انقر فوق خصائص تكوينومن ثم انقر فوق عقده بناء .

    ملاحظة: في Visual Studio 2005، انقر فوق ترجمة في الجزء الأيمن.
  6. انقر لتحديد خانة الاختيار تسجيل لتوافق COM . يكون هذا الخيار متاحاً فقط في مشاريع مكتبة الفئات.
  7. انقر فوق موافق لإغلاق مربع الحوار صفحات الخصائص .
إذا لم يتم تثبيت Visual Studio.NET أو Visual Studio 2005 أو إذا كان لديك لإنشاء وتسجيل ملف مكتبة (.tlb) نوع التجميع المدار يدوياً، استخدم أداة "تسجيل التجميع" (RegAsm.exe) مع رمز التبديل /TLB . يجب أيضا استخدام رمز التبديل /Codebase إذا كان التجميع المدار تجميع خاص وتنوي وضع التجميع المدار في مجلد مختلف عن عملية المضيف (EXE).

نشر مع تطبيق تجميع خاص ومتوفرة للاستخدام الحصري لهذا التطبيق. عدم مشاركة التطبيقات الأخرى التجميع الخاص. التجميعات الخاصة مصممة بحيث يتم تثبيتها في نفس المجلد مثل عملية المضيف (EXE). مع تطبيق عميل COM، وهذا يعني أن التجميع في نفس المجلد مثل هذا التطبيق. يتم تجميع مشترك متوفرة للاستخدام بواسطة تطبيقات متعددة على الكمبيوتر. لإنشاء تجميع مشترك، يجب توقيع التجميع باسم قوي وتثبيت التجميع في ذاكرة التخزين المؤقتة للتجميع العمومي (GAC) على الكمبيوتر الوجهة.

لمزيد من المعلومات حول كيفية توقيع تجميع باسم قوي وتثبيت التجميع في مخزن التجميع العمومي المؤقت (GAC)، قم بزيارة موقع Microsoft التالي على الويب:يجب عليك استخدام كليهما /tlb: تبديل رمز التبديل و /Codebase عند تسجيل التجميع. /Tlb: تبديل إنشاء وتسجيل مكتبة نوع، وتسجيل رمز التبديل /Codebase موقع التجميع المدار في "تسجيل Windows". إذا كنت لا تستخدم مفتاح التبديل /Codebase ولم يتم تثبيت التجميع في مخزن التجميع العمومي المؤقت (GAC)، يجب وضع نسخة من التجميع إلى المجلد لكل تطبيق عميل COM (EXE) كي يمكن تحديد موقع التجميع بوقت تشغيل اللغة العامة (CLR).

لإنشاء وتسجيل مكتبة نوع وتسجيل موقع التجميع المدار، اكتب الأمر التالي في موجه الأوامر:
Regasm AssemblyName.dll /tlb: FileName.tlb /تعليمات البرمجة الأساسية

إنشاء تجميع الاستدعاء COM في Visual Basic.NET

  1. يبدأ Visual Studio.NET أو Visual Studio 2005.
  2. في القائمة ملف ، أشر إلى
    جديد، ثم انقر فوق المشروع.
  3. ضمن أنواع المشروع، انقر فوق مشاريع Visual Basic.

    ملاحظة: في Visual Studio2005 انقر فوق Visual Basic ضمن
    أنواع المشاريع.
  4. ضمن قوالب، انقر فوق مكتبة الفئات.
  5. اسم المشروع TestProj، ومن ثم انقر فوق
    OK.

    بشكل افتراضي، يتم إنشاء Class1.
  6. في القائمة عرض ، انقر فوق "مستكشف الحلول".
  7. انقر نقراً مزدوجاً فوق Class1.vb، ومن ثم انقر فوق
    حذف. انقر فوق موافق لتأكيد حذف الملف المصدر Class1.vb.
  8. من القائمة مشروع ، انقر فوق إضافة فئة.
  9. ضمن قوالب، انقر فوق فئة COM.
  10. اسم الفئة COMClass1.vb، ومن ثم انقر فوق
    فتح

    يتم إنشاء COMClass1 مع التعليمات البرمجية التالية.
    <ComClass(ComClass1.ClassId, ComClass1.InterfaceId, ComClass1.EventsId)> _Public Class ComClass1

    #Region "COM GUIDs"
    ' These GUIDs provide the COM identity for this class
    ' and its COM interfaces. If you change them, existing
    ' clients will no longer be able to access the class.
    Public Const ClassId As String = "6DB79AF2-F661-44AC-8458-62B06BFDD9E4"
    Public Const InterfaceId As String = "EDED909C-9271-4670-BA32-109AE917B1D7"
    Public Const EventsId As String = "17C731B8-CE61-4B5F-B114-10F3E46153AC"
    #End Region

    ' A creatable COM class must have a Public Sub New()
    ' without parameters. Otherwise, the class will not be
    ' registered in the COM registry and cannot be created
    ' through CreateObject.
    Public Sub New()
    MyBase.New()
    End Sub

    End Class
  11. إضافة الدالة التالية إلى COMClass1.
       Public Function myFunction() As Integer      Return 100
    End Function
  12. في "مستكشف الحلول"، انقر بالزر الأيمن
    اسم المشروعومن ثم انقر فوق
    خصائص.
  13. ضمن خصائص التكوين، انقر فوق
    بناء.
  14. تحقق من تحديد خانة الاختيار تسجيل لتوافق COM، ثم انقر فوق موافق.
  15. في بنية القائمة، انقر فوق إنشاء حلول لبناء المشروع.
  16. بدء تشغيل Visual Basic 6.0.
  17. من القائمة ملف ، انقر فوق مشروع جديدومن ثم انقر فوق لتحديد EXE قياسي في
    مربع الحوار " مشروع جديد ".

    بشكل افتراضي، يتم إنشاء نموذج يسمى Form1.
  18. من القائمة مشروع ، انقر فوق
    مراجع.
  19. في قائمة المراجع المتاحة ، انقر نقراً مزدوجاً لتحديد TestProj، ومن ثم انقر فوق
    OK.
  20. إضافة زر أمر إلى النموذج.
  21. انقر نقراً مزدوجاً فوق Command1 لفتح إطار التعليمات البرمجية.
  22. أضف التعليمات البرمجية التالية إلى الحدث Command1_Click .
    Dim myObject As TestProj.COMClass1Set myObject = New TestProj.COMClass1
    MsgBox myObject.myFunction
  23. في قائمة تشغيل ، انقر فوق
    ابدأ.
  24. انقر فوق زر الأمر.

    يجب أن تتلقى رسالة تعرض 100.

المراجع

لمزيد من المعلومات، قم بزيارة موقع Microsoft التالي على الويب:
التفاعل مع التعليمات البرمجية غير المدارة
http://msdn2.microsoft.com/en-us/library/sd10k43k(vs.71).aspx
خصائص

رقم الموضوع: 817248 - آخر مراجعة: 15‏/01‏/2017 - المراجعة: 1

تعليقات