سؤال

جزء من عملي اليومي هو الحفاظ على وتوسيع إرث VB6 التطبيقات.مشترك المحرك هو مكتوب في C/C++ و VB6 يستخدم هذه الوظائف من أجل تحسين الأداء.

عندما يتعلق الأمر البرمجة غير المتزامنة ، ج واجهة لا يكفي ونحن نعتمد على COM تسيطر على حريق الأحداث VB6.

مشكلتي هي أنني عندما سجل التحكم في VB6, VB الأحمال هذا التحكم في الذاكرة و لا يفرغ من ذلك حتى لقد تركت VB6 IDE.مثل التحكم يتم تحميلها طوال الوقت, أنا غير قادر على ترجمة في VC6 ، لأن ملف DLL مؤمن.

حل وجدته هو عدم تمكين التحكم في VB ولكن استخدام CreateObject() مع الاسم الكامل عن إرادتي.المشكلة إذن هي التي يجب أن تعلن عن إرادتي ككائن لأن VB6 لا يعرف شيئا من واجهة أنا باستخدام وأنا لم يكن لديك الوصول إلى التحسس ، وهو الألم.

أي فكرة كيف يمكن أن أقول VB6 لتفريغ الضوابط بعد الإقلاع عن تطبيق أو مباشرة في IDE ؟

هل كانت مفيدة؟

المحلول

أنا متأكد لا يوجد طريقة جيدة إلى قوة VB6 لتفريغ التحكم.

هنا هو ما أقوم به...بدلا من تشغيل Visual C و Visual Basic جنبا إلى جنب, تشغيل VB6 تحت VC :

  1. تحميل VC
  2. افتح المشروع الذي يحتوي على كائنات COM
  3. تحرير, تغيير, الخ.
  4. في VC تعيين الناتج قابل للتنفيذ أن يكون VB6.EXE المناسبة وسيطات سطر الأوامر تحميل برنامج VB6 مساحة العمل
  5. الآن فقط اضغط F5 لتشغيل VB6 IDE و تحميل VB6 المشروع
  6. عندما كنت ترغب في تغيير COM البرمجية مرة أخرى, خروج VB6.EXE جعل التغييرات الخاصة بك ، واضغط F5 مرة أخرى.طالما يمكنك حفظ مساحة العمل الخاصة بك VB6 سوف تذكر ما النوافذ كانت مفتوحة و كل ما تبذلونه من إعدادات المشروع.

مزايا هذه الطريقة:

  • يمكنك تعيين نقاط إيقاف في كائن COM و تصحيح ذلك باستخدام كامل المصدر المصحح
  • يمكنك بسعادة التصحيح في C و VB في نفس الوقت
  • كلما VB6 يعمل دائما أحدث نسخة من COM Dll
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top