Delphi CreateOleObject Events
-
30-09-2019 - |
سؤال
هناك رمز:
var
myobject: OleVariant;
begin
myobject := CreateOleObject('SomeNamespace.SomeClass');
end;
يحتوي هذا كائن com على أحداث (على سبيل المثال Onclick). كيف يمكنني الاتصال بهذه الأحداث دون استيراد TLB؟
المحلول
أنت تعمل مع Com في وقت متأخر ، فهل تحتاج إلى كتابة الكثير من التعليمات البرمجية للتعامل مع الأحداث. هذه المهمة ليست صعبة إذا كنت تعرف com ، هل تحتاج بشكل أساسي إلى اتباع هذه الخطوات.
- إنشاء كائن جديد (فئة) مشتق من
TInterfacedObject
هذا ينفذIDispatch
- تنفيذ
Invoke()
وظيفة صفك الجديد - الاستعلام عن حاوية نقطة الاتصال (
IConnectionpointContainer
) ونقطة الاتصال المطلوبة. - تغرق نقطة الاتصال باستخدام
IConnectionPointContainer.FindConnectionPoint
- أخيرا تنفيذ
IConnectionPoint.Advise()
باستخدام تنفيذك منIDispatch
يمكنك العثور على أمثلة على هذا التنفيذ على هذه الروابط
كيفية استخدام حدث الكائنات الذي تم إنشاؤه باستخدام CreateOleBjectDelphi 5 Running PowerPoint (مثال باستخدام كائن الربط المتأخر مع الأحداث)- Delphi 5 Running PowerPoint (مثال باستخدام كائن الربط المتأخر مع الأحداث)
جرب هذه الروابط لمزيد من المعلومات حول com ، والربط المتأخر والأحداث
لا تنتمي إلى StackOverflow