سؤال

هل يمكن لأي أحد أن يخبرني عن كيفية تحويل تطبيق قديم وهو vb6 (ocx وexes الخاص بـ COM dll) لاستخدام Regfree COM.

لقد حاولت فتح ملفات dll في الاستوديو المرئي وأنشأت ملف بيان، لكن بعض ملفات dll تظهر خطأ.

هل هناك أي أدوات ستساعدني في القيام بهذه العملية؟

لقد قمت بتجربة أداة من codeproject تسمى regsvr42، والتي لا تقوم بإنشاء البيان بشكل كامل.

لقد استخدمت أدوات مثل PE Explorer حيث أحصل على جميع معلومات typelib، لكن تحويلها إلى ملفات بيان أمر صعب للغاية.

لقد بدأنا في ترحيل ذلك إلى .NET، وعلينا نشره لعدة أشهر، وسيكون الأمر أسهل إذا كان النشر قائمًا على xcopy.

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

المحلول

لإنشاء ملفات البيان، يمكنك محاولة استخدام Make My Manifest من http://mmm4vb6.atom5.com/.

يحرر موقع MMM معطل.أرى هنا أن المؤلف كان يواجه مشكلة في استضافته وقام بتوفير موقع آخر للحصول على "Make My Manifest" - قم بتنزيله هنا.

إذا كان بإمكانك التحكم في إنشاء الكائنات، فيمكنك استخدام DirectCOM منها http://www.thecommon.net/10.html

ضع في اعتبارك أنه إذا كانت إحدى ملفات DLL أو OCX المستخدمة تقوم بإنشاء كائنات COM أخرى ديناميكيًا باستخدام استدعاءات CreateObject، فلن يتم تخزين هذا المرجع في ملف مشروع vbp ولن تحصل على ملف البيان الكامل.ربما يتعين عليك التقاط عمليات إنشاء الكائنات أثناء تشغيل التطبيق.يمكن لتطبيق Depends.exe تعريف التطبيق قيد التشغيل والإبلاغ عن جميع ملفات dll المستخدمة.لا أعرف ما إذا كانت هناك أداة يمكنها العثور على معلومات إضافية متعلقة بـ COM.

نصائح أخرى

وهناك تجول ممتازة من ما يجب القيام به في هذه المقالة على MSDN: تفعيل تسجيل مجاني من مكونات COM: A تجول .

تأكد بلدي المانيفستو يمكن أن تستوعب الربط المتأخر وكذلك الربط المبكر. لديك لمجرد إضافة إشارات إلى تبعيات المتأخر يدويا، من خلال موقع الملف أو معرف البرنامج.

وكنت قد ننظر في http://mmm4vb6.atom5.com/mmm-demo -1248.html حصول على مساعدة إضافية في استخدام الأداة المساعدة.

MakeMyManifest يتم الحديث عنها جيدًا كأداة تلقائية لإنشاء البيانات لمشاريع VB6، ولم أجرّبها بنفسي.دايركتكوم لديه أيضًا معجبين، مرة أخرى لم أجربه.

يحرر موقع MMM معطل.أرى هنا أن المؤلف كان يواجه مشكلة في استضافته وقام بتوفير موقع آخر للحصول على "Make My Manifest" - قم بتنزيله هنا.

هناك تقنية شبه تلقائية.يمكنك إنشاء البيانات باستخدام Visual Studio 2008 (يمكنك استخدام إصدار مجاني مثل Visual Basic Express Edition).ثم قم بإجراء بعض التعديلات يدويًا لجعل البيانات مناسبة للاستخدام من VB6.يرى هذا القسم من مقالة MSDN هذه للحصول على إرشادات خطوة بخطوة - تجاهل بقية المقالة التي تدور حول ClickOnce.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top