تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
استخدام كود فيجول بيزيك 2005 في فيجول بيزيك 6
#1
كاتب الموضوع : samerselo


يمكن للبرامج المبنية على COM مثل VB6 التعامل مع الكود الخاص بك والمكتوب ضمن الفريموورك مثل Class - Interface - struct - enum إذا تم اتباع القواعد التالية بشكل عام
- يجب على الفئات تعريف واجهة
- التعريف باستخدام Public
- الأنواع Types لايمكن أن تكود مجردة

كما يمكنك تحديد فيما إذا كان يمكن أو لايمكن رؤية الإجراء أو الكلاس أو ... الخ من عملي الـ com باستخدام ComVisibleAttribute كالمثال

كود :
Imports System.Runtime.InteropServices

<ComVisible(False)> _
Class SampleClass

Public Sub New()
'Insert code here.
End Sub

<ComVisible(False)> _
Public Function MyMethod(param As String) As Integer
Return 0
End Function

Public Function MyOtherMethod() As Boolean
Return True
End Function

<ComVisible(False)> _
Public ReadOnly Property MyProperty() As Integer
Get
Return MyProperty
End Get
End Property

End Class
ويجب عليك تسجيل مجمع .net لـعملاء الـ Com حتى يمكن استخدامها وذلك باستخدام Tlbexp.exe و RegAsm.exe للقيام بعملية التسجيل ويستخدم من سطر الأوامر بالشكل التالي

كود :
TlbExp AssemblyName /out:FileName
و عملاء الـ com يصلون للمجمع الخاص بك عن طريق ملف .tlb المنشأ بواسطة هذه الأداة كما يجب عليك تسجيل المجمع الخاص بك عن طريق Regasm.exe والذي يمكنه توليد ملف tlb أيضا عن طريق الخيار /tlb: والذي يمكن استخدامه بالشكل

كود :
RegAsm AssemblyName /tlb: FileName.tlb /codebase
دعنا نقوم بعمل مثل عملي على الموضوع


- افتح بيئة التطوير وابدأ مشروعا جديدا من نوع Class Library وسمه TestProj فيتم انشاء Class1 افتراضيا
- ادخل الكود التالي في Class1

كود :
Option Strict On

Public Class Class1
Public Function myFunction() As Integer
Return 100
End Function
End Class
- افتح خصائص المشروع واضغط الزر Assembly Information من الصفحة Application وتأكد من وضع إشارة بجانب Make Assembly COM-Visible ثم اضغط OK
- من صفحة Compile تأكد من وضع إشارة بجانب Register for COM Interop
- قم بالحفظ ثم قم بعمل Build للمشروع

- افتح VB6 ثم قم بإنشاء مشروع افتراضي جديد
- من قائمة Project اختر References ومن Available References اختر اسم مشروعنا TestProj ثم اضغط Ok
- ضع زر أوامر على النموذج الخاص بمشروعك ثم انقر عليه نقرا مزدوجا لينقلك إلى محرر الكود و في الحدث Button1_Click أدخل الكود التالي

كود :
Dim myObject As TestProj.Class1
Set myObject = New TestProj.Class1
MsgBox myObject.myFunction
- شغل مشروعك واختبره

كما يمكن الاستفادة من Microsoft Interop Forms Toolkit 2.0 لهذا الغرض
}}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  طريقة تشغيل كريستال ريبورت بجميع ادارات فيجول نت abdhassan 2 328 28-05-16, 02:16 PM
آخر رد: CLARO
  [مقال] لنعيد إجراءات وسهولة استخدام ADODB في ADO.NET ebrahem b alabdaly 5 1,489 13-03-15, 09:54 PM
آخر رد: abdala
  [مقال] كلام في استخدام الدوال والروتينات function and sub سعود 4 1,241 04-05-14, 11:06 PM
آخر رد: Ali Wisam
  معلومة ::: Visual Studio 2005 Automation Samples RaggiTech 1 365 06-10-12, 08:00 PM
آخر رد: RaggiTech
  كود- حساب مواقيت الصلاة Prayer Times في الدوت نت 2008 و 2005 RaggiTech 0 1,476 05-10-12, 01:48 PM
آخر رد: RaggiTech
  كيفية استخدام ملف التعريف الخاص بالتطبيق لاستهداف نسخة معينة من الفريموورك- ينطبق على RaggiTech 0 365 05-10-12, 01:46 AM
آخر رد: RaggiTech
  ملاحظة سريعة - تمكين برنامجك من استخدام صلاحيات مدير على فيستا RaggiTech 0 423 05-10-12, 01:31 AM
آخر رد: RaggiTech
  يمكننا استخدام فيجول بايزيك 2008 لإنشاء صفحات أشرطة إضافية لـ Excel 2007 RaggiTech 0 356 05-10-12, 01:14 AM
آخر رد: RaggiTech
  تشغيل برنامج خارجي أو فتح ملف مرتبط ببرنامج معين من ضمن كود فيجول بايزيك دوت نيت RaggiTech 1 3,392 03-10-12, 08:46 AM
آخر رد: RaggiTech
  الدرس الرابع - تعرف على قوائم VB.Net 2005 (ج 2) RaggiTech 0 612 02-10-12, 06:15 PM
آخر رد: RaggiTech

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم