Dynamic Data Exchange بين التطبيقات في دلفي (عرض فلاش)
#1
السلام عليكم ورحمة الله

DDE اختصار Dynamic Data Exchange بديل آخر عن COM و Automation وتقنية للحوار بين تطبيقات الخادم (Server Application) وفق المنهج عميل/خادم

معظم البرامج الشهيرة التي نستخدمها يوميا (المتصفحات، البرامج المكتبية...) تتوفر على خدمات DDE تسمح بالاتصال معها إرسالا واستقبالا للبيانات: IE، MsOffice، Explorer...

يوفر دلفي مجموعة من المكونات (المنسية!) للتعامل مع DDE موجودة في التبويب System
كود :
TDdeClientConv;TDdeClientItem;TDdeServerItem

نأخذ مثالين لتوضيح الفكرة
1- المثال الأول: مثال بسيط للاستعلام عن الصفحة المفتوحة في IE
- ضع مكون DdeClientConv1 (العميل) على النموذج...
- افتح المتصفح IE على أي صفحة (ضروري لتشغيل الخدمة)
- الآن اضبط الخصائص:
-- DDeService على IExplore (اسم الخادم)
-- وDdeTopic على WWW_GetWindowInfo (الموضوع الذي تود الاستعلام عنه)
-- وServiceApplication على IExplore.exe (اسم التطبيق -اختياري-)
-- اترك الخيار ConnectMode على ddeAutomatic ...
- ضع زرا واكتب عند الضغط عليه:
PHP كود :
Caption := DdeClientConv1.RequestData('0xFFFFFFFF') 
نفذ التطبيق ولاحظ عنوان النموذج

يمكن استخدام مكون TDdeClientItem وربطه مع TDdeClientConv من DdeConv ثم نستقبل العائدات من TDdeClientItem بمثل هذا:
PHP كود :
Caption :=  DdeClientItem1.DdeConv.RequestData('0xFFFFFFFF'); 

إذا لم ينجح معك ذلك أعد القيام به بشكل ديناميكي مستخدما التابع SetLink هكذا:
PHP كود :
with DdeClientConv1 do
  
begin
    SetLink
('IExplore','WWW_GetWindowInfo');
    
Caption:= RequestData('0xFFFFFFFF');
  
end; 

2-المثال الثاني فتح متصفح Windows للبحث عن الملفات في مسار معين:
- ضع نفس المكون واضبط الخادم هذه المرة:
-- DDeService على Folders (خادم لمتصفح Windows)
-- وDdeTopic على AppProperties
-- وServiceApplication على explorer.exe
- هذه المرة نقوم بتنفيذ Macro مباشرة بهذا الشكل:
PHP كود :
DdeClientConv1.ExecuteMacro('[FindFolder(, c:\windows\system32)]', False); 
للبحث عن الملفات في المسار: c:\windows\system32

هذا مثال بسيط لتوضيح فكرة DDE ولك أن تبحث كيفية الاتصال بالبرامج الأخرى Smile

ملاحظة:
تنصح Microsoft باستخدام Automation بدلا عن DDE إن أمكن للاتصال بالبرامج Word, Excel ... لما تقدمة من دعم أفضل وخدمات إضافية.
-----

تم إعداد مثال مرفق السورس.
وعرض فلاش لطريقة إعداد تطبيقين بدلفي وربطها بتقنية DDE. الرابط:
http://www.mediafire.com/?vgqr84elldqsrej

بالتوفيق.


الملفات المرفقة
.rar   DDEServerClientConversation_src.rar (الحجم : 2.23 ك ب / التحميلات : 105)
الرد


الردود في هذا الموضوع
Dynamic Data Exchange بين التطبيقات في دلفي (عرض فلاش) - بواسطة kachwahed - 29-07-2010, 07:24 PM

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم