بناء OCX مع VS.NET؟
-
21-08-2019 - |
سؤال
ماذا حدث لـ 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. ومع ذلك ، هذا هو تجريبي وليس الموصى به. إذا كنت لا تزال ترغب في تجربتها ، يمكنك العثور على معلومات في مدونة أندرو وايت تشابل:
لكن كما يقول أندرو:
يبدو أن هذا يعمل بشكل جيد من أجل Excel (مع الاختبارات المحدودة للغاية التي قمت بها) ، يعمل جزئيًا مع PowerPoint ، لكنه يفشل بشكل بائس مع Word.
لذلك إذا كنت لا ترغب في قضاء الكثير من الوقت في تصحيح الأخطاء الغريبة ، فإنني أوصيك باستخدام VB 6.0 القديم و Visual Studio 6.0 لبناء مكونات ActiveX.
استخدم برنامج التحويل البرمجي C ++ أو VB والذي يمكنه استهداف الكود الأصلي+ ActiveX.
اعتمادًا على ما تحتاج إلى القيام به ، قد تكون الوظيفة الإضافية أكثر ملاءمة من OCX ، ويمكنك بالتأكيد إنشاء تلك التي تحتوي على .NET. يجب أن تنظر أيضًا إلى أدوات Visual Studio للمكتب ، ليس كبديل مباشر لـ OCX ، ولكن فقط لفهم القدرات الجديدة. قد يوضح لك مقاربات جديدة للمشاكل التي تحلها الآن باستخدام OCX.