سؤال

ماذا حدث لـ OCX؟ هل لم يعد من الممكن إنشاء أحدث الأدوات؟

أحتاج إلى إنشاء عنصر تحكم ActiveX يمكنني وضعه في مستندات Word و PowerPoint و Excel. إذا استخدمت Vs.Net ، يمكنني فقط إنشاء DLL USERCONTROL مع COM interop ، لكنني لا أعتقد أنه يمكنني إضافة ذلك باستخدام صندوق أدوات "More Controls" في علامة التبويب مطور PowerPoint.

ماذا كنت ستفعل؟

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

المحلول

نعم ، لا يزال بإمكانك إنشاءها. لكن لا يمكنك إنشاء OCX مع لغة .NET. يجب أن تكون غير مُدارة C ++ (أو VB). إن DLLs مع com interop يمكنك إنشاؤه في c# أو vb.net فقط كائنات .NET التي يتم استدعاؤها عبر CCW.

نصائح أخرى

لا يزال بإمكانك استخدام .NET لإنشاء مكونات ActiveX. ومع ذلك ، هذا هو تجريبي وليس الموصى به. إذا كنت لا تزال ترغب في تجربتها ، يمكنك العثور على معلومات في مدونة أندرو وايت تشابل:

باستخدام عناصر التحكم المدارة كعناصر تحكم ActiveX

لكن كما يقول أندرو:

يبدو أن هذا يعمل بشكل جيد من أجل Excel (مع الاختبارات المحدودة للغاية التي قمت بها) ، يعمل جزئيًا مع PowerPoint ، لكنه يفشل بشكل بائس مع Word.

لذلك إذا كنت لا ترغب في قضاء الكثير من الوقت في تصحيح الأخطاء الغريبة ، فإنني أوصيك باستخدام VB 6.0 القديم و Visual Studio 6.0 لبناء مكونات ActiveX.

استخدم برنامج التحويل البرمجي C ++ أو VB والذي يمكنه استهداف الكود الأصلي+ ActiveX.

اعتمادًا على ما تحتاج إلى القيام به ، قد تكون الوظيفة الإضافية أكثر ملاءمة من OCX ، ويمكنك بالتأكيد إنشاء تلك التي تحتوي على .NET. يجب أن تنظر أيضًا إلى أدوات Visual Studio للمكتب ، ليس كبديل مباشر لـ OCX ، ولكن فقط لفهم القدرات الجديدة. قد يوضح لك مقاربات جديدة للمشاكل التي تحلها الآن باستخدام OCX.

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