الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

أرجوا المساعدة من أجل بناء مكتبة dll

مغلق
بدأه عبد الكريم كنعان في 14 سبتمبر 2005 · 15 رد · 1,328 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

أرجوا المساعدة فقد بنيت مكتبةdll في c#

بالطرقة العادية من خلال build

وحاولت إضافتها في لغة البرمجة visual basic 6

فكان يعرض لي رسالة خطأ

can not add a reference to the specified file

فأرجوا المساعدة

#2

لا تعمل الdll's المصنوعة بالdot net إلا مع اللغات الخاصة بالdot net يعني لن تعمل مع الVB6 أو 6++C و لكن ستعمل مع VB.net و C++.net

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#3

السلام عليكم ورحمة الله وبركاته شكرا لك أخي على الرد

ولكن من المعقول لغة بهذه القوة لا يوجد فيها خيار أثناء بناء المكتبة من أجل تحدد مدى التوافقية مع اللغات الأخرى

فأرجوا المساعدة لعل هناك طريقة أو خيار أو أمر من أوامر البناء يساعد على حل هذه المشكلة وشكرا.

#4

وجدت هذا المقال يشرح كيفية استخدام الdll's الخاصة بالdot net في VB6

أرجو أن يُفيدك

Using .Net Assemblies in VB6

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#5

يبدو أن الموضوع ليس مستحيلاً كما تصورت و لكن له بعض الخطوات

أولاً يجب عليك تحويل الdll الخاصة بك و المكتوبة بالdot net إلى tlb

ثم يمكنك أن تقوم بعمل Add Reference من داخل الVB للtlb و سيمكنك أن تستخدم المكتبة ببساطة

و هذه هي الطريقة

Tlb using Assembly Registration Tool (Regasm.exe)

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#6

الموضوع ده جامد جداً و فيما يلي شرح سريع فقد جربته بنفسي و نجح

أولاً افتح الVisual Studio.net Command Prompt من Start \ All Programs \ Microsoft Visual Studio.net 2003 \ Microsoft Visual Studio Tools

ثانياً اكتب التالي

regasm myDll.dll /tlb:myDll.tlb

بالطبع غير myDll باسم و مكان الDll الخاصة بك

اذا كان كل شئ تمام ستظهر لك هذه الرسالة

Microsoft (R) .NET Framework Assembly Registration Utility 1.1.4322.573
Copyright (C) Microsoft Corporation 1998-2002.  All rights reserved.

Types registered successfully
Assembly exported to 'myDll.tlb', and the type library was registered successfully

ثالثاً من داخل الVB6 من قائمة Project اختر References ثم قم بعمل Browse على الملف myDll.tlb و اضغط Ok

الان من داخل الكود يمكنك استخدام الnamespace الخاصة بك و ستجد بها كل الPublic classes و الfunctions

ملحوظة الautocomplete في الVB لن يستطيع أن يجد سوى اسم الNamespace و لكن بالنسبة لأسماء الclasses و الfunctions فعليك كتابتها بنفسك

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#8

السلام عليكم ورحمة الله وبركاته

قد فعلت ما أخبرتني به وتم إضافته في الفيجول بيسك 6 ولك صادفني مشكلة عند تشغيل البرنامج

Run-time error '-2147024713 (800700b7)':

Automation error

Can not creat a file when that file already exsits.

#9

السلام

لدي dll لا لعرف على اية لغة مبرمجة هل يمكن ان استعملها في بيئة .NET ؟؟

حاولت اضافتها ولم استطع

حاولت تحويلها ل tlb لم استطع

RegAsm error: Failed to load 'E:\DWREGION.dll' because it is not a valid .NET assembly

هل يمكن لي ان استعمل اية dll موجودة في برنامج لدي على الجهاز؟؟

عندما تولد يا ابن آدم يؤذن في اذنك من غير صلاة...

وعندما تموت.... يصلى عليك من غير آذان....

فكأن حياتك في الدنيا ليست سوى... الوقت الذي تمضيه بين الأذان والصلاة...

فلا تقضيه بما لاينفع

Mohammad Lahlouh

mohammadlahlouh.blogspot.com

Make money from your Website or Blog with BidVertiser

#10

ليس كل الDll's يمكن استخدامها في الDot Net يجب أن تكون إما ActiveX Dll's أو Dll's تحتوي على Entry Point محددة

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#11

و أيضاً ليس كل Assembly مكتوب بالدوت نت من الممكن استخدامه مع الـ VB6 أوغيره من اللغات الأخرى، فمثلاً كيف سيستطيع الـ Compiler الخاص بهذه اللغة التعامل مع كود يتعامل مع الـ ADO.Net مثلاً ..؟؟

رأس الحكمة الإيمان بالله

#12

السلام عليكم ورحمة الله وبركاته

إلى السيد مشرف القسم

لقد عملت ما قلت لي وتم إضافته إلى الفيجول بيسك 6

ولكن عندما أفتح مستعرض Object Browser أرى أن الملف class فارغ تماما من أي Property

فما هي المشكلة فأرجوا مساعدتي

وشكرا

#13
اقتباس
ملحوظة الautocomplete في الVB لن يستطيع أن يجد سوى اسم الNamespace و لكن بالنسبة لأسماء الclasses و الfunctions فعليك كتابتها بنفسك

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#14

السلام عليكم ورحمة الله وبركاته

إلى المشرف العزيز أطلب حلمك علي قليلا من بعد إذنك

سؤال : هل قمت باستخدام المكتبة التي أضفتها في visual basic 6 وشغلت البرنامج ولم ينتج خطأ بصراحة هذا ما يحدث معي بعد إضافة المكتبة أقوم باستخدامه كما لو أني أستخدم class ضمن visual basic 6 هنا ينتج الخطأ مثال لو أن المكتبة التي أضفتها كانت بإسم cEval فأقوم باستخدامها بالشكل التالي

Dim Ev as cEval

Set Ev = new cEval

في السطر الثاني يقع الخطأ مع أنني أستخدمها غالبا من أجل تعريف class

ملاحظة ألاحظ أيضا أن الملف الذي أنشؤه بامتداد tlb من أجل visual basic 6 يكون حجمه أصغر بكثير من ملف dll .

مثال ملف dll حجمه 60 k.b بعد التحويل يصبح 3k.b

رجوا من حضرتك أن تفيدني ولك جزيل الشكر

#16

السلام عليكم ورحمة الله وبركاته

ما فائدة هذه خصائص الكلاس

build Action, custom tool, custom tool name,

لعل هذه الأسباب التي سببت بعدم عمل dll في فيجول بيسك 6

أرجوا المساعدة لعل أحد يشرح خطوات بالتفصيل تحويل dll من الدوت نت للإستفادة منه في الفيجول بيسك 6

هذا الموضوع مغلق.

مواضيع مشابهة