احتاج طريقة لعمل load لملف dll اثناء تشغيل البرنامج حتي لا احتاج لأن يكون موجود اثناء بدء التشغيل
في ال vb.net استطيع فعل ذلك ب CreateObject
لاكن في ال vb6 لا اعرف اذا كانت هناك طريقة ارجوا المساعدة
جرب اخي من قائمة project
و اختر references
ثم اختر الملف بالضغط على زر Browse
بنفس الطريقة
dim A as object
AGASHE كتب :جرب اخي من قائمة project
و اختر references
ثم اختر الملف بالضغط على زر Browse
اخي هذه الطريقه تستجوب وجود الdll اثناء بدء التشغييل
samehsayed2005 كتب :بنفس الطريقة
dim A as object
ياريت مثال بسيك علي السريع
مثال في vb.net احتاج لشي يماثله في ال vb6
كود :
Function Plugin(ByVal ByteOfdll As Byte(), ByVal ClassName As String) As Object
Dim J As Object = Reflection.Assembly.Load(ByteOfdll)
Try
Catch ex As Exception
End Try
Return J.CreateInstance(Split(J.FullName, ",")(0) & "." & ClassName)
End Function
السلام عليكم
- تستطيع ذلك بنفس الطريقة . لنفترض أن ملف الـ DLL لديك بإسم MyDll وإسم الكلاس MyClass . فسيكون الكود كالتالي :
كود :
Private Declare Function LoadLibrary Lib "kernel32" Alias _
"LoadLibraryA" (ByVal lpLibFileName As String) As Long
Private Declare Function FreeLibrary Lib "kernel32" _
(ByVal hLibModule As Long) As Long
Private Sub Form_Load()
Dim H As Long
H = LoadLibrary("C:\MyDll.dll")
DoEvents
Set mClass = CreateObject("MyClass")
DoEvents
' هنا قم بإستدعاء الدالة الموجودة في الكلاس
Set mClass = Nothing
Call FreeLibrary(H)
End Sub
- تحياتي .
اواجه خطأ في CreateObject
اخي ياريت مشروع صغير كمثال وبارك الله فيك
السلام عليكم
- يجب عليك أولاً تسجيل المكتبة أو ملف الـ dll . ثم بعد ذلك إستخدم الكود . هذا مثال لملف الـdll ومثال لكيفية التحميل والإستدعاء .
- تحياتي .