سؤال

لقد كنت أحاول تحميل ملف OCX في أحد مشاريع VB6 الخاصة بي لمعظم اليوم اليوم. لقد حاولت التحقق من تسجيل COM في التسجيل الأفضل الذي أعرفه كيف، وحاول عدة مرات باستخدام Regsvr32 على الملف دون جدوى. كل ما أستمر فيه الحصول عليه من VB6 عندما أحاول تحميل المكون (ضمن المشروع -> مكونات) تعذر تحميل "FilePath filename.ocx". هل شاهد أي شخص آخر هذا من قبل، وإذا كان الأمر كذلك، أي أفكار حول كيفية إصلاحه؟

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

المحلول

قد تكون هذه مشكلة التبعية - بعض المكونات الأخرى التي يحتاجها OCX غير موجودة. سوف يعثر ووكر على أي تبعيات ثابتة.

نصائح أخرى

مجرد نصائح للمساعدة في عزل المشكلة ....

انظر إلى عنصر التحكم مع Oleview

فحص الاسم: إذا كانت واحدة من الكلمات المحجوزة مثل "القائمة"، فسوف تفشل VB6 في تحميلها. (على الرغم من أن VB6 سيتيح لك إنشاء (واستخدام) من خلال اسم سيء حتى يتم حفظه وإعادة تحميله)

فحص الواجهة: هل تصف الوظيفة؟ قد يكون لديك OCX التالفة أو غير المرخصة.

محاولة تحميلها مع حاوية اختبار التحكم ActiveX ... إذا كنت تستطيع، فإن المشكلة هي مع VB6 وليس OCX.

لقد حددنا خطأ مماثل مؤخرا. في حالنا، كان الخطأ في ملف Visual Basic Project (.vbp). تم تحرير ملف المشروع خارج آلة البناء الموحدة والمراجع الموجودة إلى مكونات OCX - بما في ذلك مسارات محطة العمل وإصدارات المحددة من المكونات.

يمكنك إما تحرير ملف المشروع في محرر النصوص أو احصل على إصدار عمل من عنصر تحكم الإصدار.

عملت الأمم المتحدة والتسجيل مرة أخرى عملت لي أيضا.
يرجى ملاحظة أنك بحاجة إلى تسجيل هذا المكون باستخدام بناء الجملة هذا:

regsvr32 /i:design olch2x8.ocx

عندما تقول أنك استخدمت "Regsvr32 على الملف دون جدوى" هل تعني أنك تحصل على اسم الملف رسالة خلفت، أو رسالة خطأ؟ إذا نجح الملف، فمن المحتمل أن يكون CMB الحق في أن OCX غير مرخص.

الترخيص جانبا، هناك بضع نقاط رحلة أخرى مع VB6. خاصة إذا تم تطوير OCX في VB6.

إذا كان الأمر كذلك، فقد يتعارض النسخة المسجلة للنظام "رسميا" مع OCX المحدد الذي تستخدمه. بمعنى آخر، قد يكون لكلاهما نفس الاسم المناسب (أو التصنيف) ولكن الشخص الذي تحاول استخدامه قد لا ينفذ جميع الوظائف الموضحة في النظام المسجل واحد (أي لديك نسخة أقل تطورت). ينشأ هذا عندما يرغب صاحب البلاغ في الحفاظ على التوافق الثنائي مع تعزيز وظائف عنصر تحكم. طالما أن الواجهات العامة لا تزال متوافقة، فلن يقوم VB بإعادة حساب الفصل.

يمكنك إصلاح هذا من خلال إلغاء تسجيل التحكم المحدد بالقوة (إلغاء تسجيل جميع مثيلات التحكم) في الواقع. (regsvr32 / u control.ocx) ثم أعد تسجيل الواحدة التي تنوي استخدامها. تأكد من عدم وجود مثيل تشغيل VB6 عند القيام بذلك أو قد لا تعمل النتائج. (تحقق من قائمة المهام الخاصة بك)

امل ان يساعد...

قد يعتمد عنصر التحكم على DLL أو OCX آخر قد يكون مفقودا أو غير مسجل بهذا استطاع تظهر نفسها كإبلاغ VB أن التحكم الذي تحاول استخدامه هو مفقود. ومع ذلك، لست متأكدا من كيفية تحديد التبعيات. بقدر ما أعرف، يحدد الوشارة التبعية تبعيات ثابتة؛ لست متأكدا مما إذا كان بإمكانه تحديد تبعيات COM.

تقوم الأمم المتحدة بتسجيل OCX RE تسجيل OCX ثم تحميل المشروع مرة أخرى في VB6، فقد عملت بالنسبة لي.

شكرا لكم جميعا

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