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

خطأ في كود Subclassing

بدأه Abboodd في 7 مارس 2009 · 5 رد · 489 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

إخواني أنا لدي شيء من الضعف في Hooking and Subclassing لذلك أقوم ببعض التدرب.

كنت أجرب مثالاً في كتاب عن كيفية قبول الملفات في برنامجي عن طريق السحب والإفلات Drag & Drop بطريقة التصنيف الفرعي.

لكن كلما أجرب البرنامج بعمل Crash للفيجوال بيسك، ولا يستطيع أن يفتح.

البرنامج في المرفقات، لم أستطع معرفة الخطأ، أرجو المساعدة.

جزاكم الله خيراً

Drag_Drop_Files.rar

تم تعديل هذه المشاركة بواسطة Abboodd في 7 مارس 2009 في 15:58

هذه الجملة خاطئة  :wacko: 


#2

امممممم .. بص بقى يا ياسيدي .. عندك غلطتين وعندي ملاحظة

الغلطة الأولى في الـ Form1 وتحديدا في إجراء الـ MessageProc

والغلطة انك نسيت تعرف المتغير lReturn

وهذا مع الـ Hook والـ Option Explicit يبقى 100 % هيحصل Crash

والخطا الثاني في نوع الـ HookCallBack .. انت نسيت تحدد نوع قيمة الإجراء ده

وده معناه انها Variant .. هي المفروض تكون Long .. وهي دي اللى انت بتسال عنها

Public Function HookCallBack(ByVal hWnd As Long, ByVal lMsg As Long, ByVal wParam As Long, lParam As Long) As Long

الملاحظة بقى :P .. قاعدة ثابتة ان القيمة الـ Long عمرها متكون Null أو Empty مهما حصل

If hHookWindow = 0 Or IsEmpty(hHookWindow) Or IsNull(hHookWindow) Then Exit Sub

وعجبتني طريقة تفكيرك في المثال ده .. استمر يابطل وربنا يقويك

اعتذر عن عدم تمكني للمتابعه الدورية في وقتنا الحالي

فليقبل الجميع تقديري واحترامي .. ولكم تحياتي

#3
اقتباس
الملاحظة بقى tongue2.gif .. قاعدة ثابتة ان القيمة الـ Long عمرها متكون Null أو Empty مهما حصل

كود

If hHookWindow = 0 Or IsEmpty(hHookWindow) Or IsNull(hHookWindow) Then Exit Sub

وعجبتني طريقة تفكيرك في المثال ده .. استمر يابطل وربنا يقويك

سامحني يا تحدي، ولكنه ليس ذنبي، فهذا المثال من كتاب، سأعمل على تعديل ما أخبرتني به وأخبرك، شكراً لك.

هذه الجملة خاطئة  :wacko: 


#4

لم يعمل يا تحدي :cry:

Drag_Drop_Files.rar

هذه الجملة خاطئة  :wacko: 


#5

:hmm: .. خلاص متزعلش .. وخد ده امسح بيه دموعك :)

post-85546-1236588932_thumb.gif

إذهب للـ lParam في الـ HookCallBack وإجعلها ByVal بدلا من الـ ByRef

Drag_Drop_Files.rar

اعتذر عن عدم تمكني للمتابعه الدورية في وقتنا الحالي

فليقبل الجميع تقديري واحترامي .. ولكم تحياتي

#6

B) :hot: :thumb_up: :thumbup: :yes: :rose: :D :)

الصورة تغني عن الكلام :)

هذه الجملة خاطئة  :wacko: 


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