ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½ΡΠΌΠΈ
Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ DDE
ΠΠ°ΡΠ° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ: 2014-10-02 ; ΠΏΡΠΎΡΠΌΠΎΡΡΠΎΠ²: 7132 ; ΠΠ°ΡΡΡΠ΅Π½ΠΈΠ΅ Π°Π²ΡΠΎΡΡΠΊΠΈΡ ΠΏΡΠ°Π²
ΠΠ»ΠΈΠ΅Π½Ρ DDE. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΡΡΠΏΠ°ΡΡ Π»ΡΠ±ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ DDE-Π·Π°ΠΏΡΠΎΡΡ ΠΊ DDE-ΡΠ΅ΡΠ²Π΅ΡΡ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΎΠ±Π»Π°Π΄Π°ΡΡΠ΅Π³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ DDE-ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡΡ Microsoft Excel, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΎΡΠΌΡΠ»Ρ Π² ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΡΠ΅ΠΉΠΊΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π·Π°ΠΏΡΠΎΡ Ρ Π°Π²ΡΠΎΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ ΠΊ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌΠΎΠΌΡ DDE-ΡΠ΅ΡΠ²Π΅ΡΡ.
Π‘Π΅ΡΠ²Π΅Ρ DDE. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠ΅Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°, Π΄ΠΎΠ»ΠΆΠ½ΠΎ βΡΠΌΠ΅ΡΡβ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ DDE ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΠΎΡΡΠ»Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΎΡΠ²Π΅Ρ Π½Π° Π·Π°ΠΏΡΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ-ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ². Π£ ΠΎΠ΄Π½ΠΎΠ³ΠΎ DDE-ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ DDE-ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ².
Π‘Π΅Π°Π½Ρ DDE β Π°ΠΊΡΠΈΠ²Π½Π°Ρ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½Π°Ρ ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ.
Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΡ DDE β ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΡΠΉ Π°ΠΊΡ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ΅Π°Π½ΡΠ°.
Π DDE ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΡΡ ΡΡΠΎΠ²Π½Π΅Π²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΠΈ: service (Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ); topic (ΡΠ°Π·Π΄Π΅Π» Π΄Π°Π½Π½ΡΡ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°, ΠΈΠ»ΠΈ ΡΠ°Π±Π»ΠΈΡΠ° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ); item (ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π°Π½Π½ΡΡ , ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°ΡΠΈΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅).
ΠΡΠ»ΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ° DDE Π²ΡΡΡΡΠΏΠ°Π΅Ρ MS Excel, ΡΡΠ° ΡΡ Π΅ΠΌΠ° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: service β «EXCEL»; topics β ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ° «[ΠΠ½ΠΈΠ³Π°1]ΠΠΈΡΡ1»; item βΡΡΠ΅ΠΉΠΊΠ° «R1C2».
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Windows Π±Π°Π·ΠΈΡΡΠ΅ΡΡΡ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅ΠΉ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΡΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΡΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΡΠ»ΠΊΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ. ΠΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ DDE ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ:
WM_DDE_INITIATE β ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ Π΄ΠΈΠ°Π»ΠΎΠ³ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΡΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°;
WM_DDE_ACK β ΠΏΠΎΡΡΠ»Π°Π΅ΡΡΡ Π² ΠΎΡΠ²Π΅Ρ Π½Π° ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅;
WM_DDE_REQUEST β Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π΄Π°Π½Π½ΡΡ ;
WM_DDE_POKE β ΠΏΠΎΡΡΠ»Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΠ²Π΅ΡΡ;
WM_DDE_ADVISE β ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΡ ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ;
WM_DDE_DATA β ΠΏΠΎΡΡΠ»Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π΄Π°Π½Π½ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡ;
WM_DDE_EXECUTE β ΠΏΠΎΡΡΠ»Π°Π΅Ρ ΡΡΡΠΎΠΊΡ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅-ΡΠ΅ΡΠ²Π΅ΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΅Π΅ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄;
WM_DDE_UNADVISE β Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΡ ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ;
WM_DDE_TERMINATE β Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ Π΄ΠΈΠ°Π»ΠΎΠ³.
ΠΠΎΡΡΠ»ΠΊΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ β ΡΡΠΎ Π½ΠΈΠΆΠ½ΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ DDE-ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΠΈ DDE-ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ. ΠΠ° Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΡΠΎΠ²Π½Π΅ DDE-ΠΎΠ±ΠΌΠ΅Π½ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Π²ΠΈΠ΄Π΅ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΡΡ Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ DDEML.DLL.
Π‘ ΡΠ΅Π»ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° DDE Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ NetDDE. ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ, Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠΌ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ , ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΡ, Π²Π΅ΡΡΠΈ DDE-ΠΎΠ±ΠΌΠ΅Π½.
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½ΡΠΌΠΈ
Π ΡΠΏΠΈΡΠΊΠ΅ ΠΈΠ·ΡΡΠ°Π΅ΠΌΡΡ Π² Π΄Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Π΅ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΌΠ΅ΠΆΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ DDE (Dynamic Data Exchange β Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½ΡΠΌΠΈ) ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π΅ΡΡΠΌΠ° ΡΡΠ°ΡΠΎΠΉ; ΠΏΠΎ Π΄ΡΠ΅Π²Π½ΠΎΡΡΠΈ Π΅Π΅ ΠΎΠΏΠ΅ΡΠ΅ΠΆΠ°Π΅Ρ Π»ΠΈΡΡ Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π°.
Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ DDE Π±ΡΠ»Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° Π² Π½Π΅Π΄ΡΠ°Ρ Microsoft Π΅ΡΠ΅ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΡΡ Π²Π΅ΡΡΠΈΠΉ Windows ΠΈ Ρ ΡΠ΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½ Π½Π΅ ΠΏΡΠ΅ΡΠ΅ΡΠΏΠ΅Π»Π° ΡΠ΅ΡΡΠ΅Π·Π½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΠΆΠΈΠ»ΠΎΠΉ Π²ΠΎΠ·ΡΠ°ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π½Π΅Π»ΡΠ·Ρ ΡΡΠΈΡΠ°ΡΡ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠΌ ΠΏΠΎΠ²ΠΎΠ΄ΠΎΠΌ Π΄Π»Ρ Π΄ΠΎΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠ°Π½ΠΈΡ DDE ΡΠΎ ΡΡΠ΅ΡΠΎΠ². ΠΠ΄Π½ΠΎ ΠΈΠ· ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² DDE Π½Π°Π΄ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΌΠ°Π»ΠΎΠΉ ΡΡΠ΅Π±ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊ ΡΠ΅ΡΡΡΡΠ°ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° (ΡΠ°Π·Π²Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Pentium IV Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠΌ Π½Π° Π±Π°Π·Π΅ 286 ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Π»Π°ΡΡ DDE). Π ΡΠΏΠΈΡΠΊΡ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ² DDE ΡΡΠΎΠΈΡ ΠΎΡΠ½Π΅ΡΡΠΈ ΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΡΡΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°.
ΠΡΠ½ΠΎΠ²Π½Π°Ρ Π·Π°Π΄Π°ΡΠ° DDE β ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ: ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ. Π ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΎΠ΄Π½ΠΎΡΡΠΎΡΠΎΠ½Π½ΠΈΠΉ β ΠΊΠ»ΠΈΠ΅Π½Ρ DDEΠΈΠ½ΠΈΡΠΈΠΈΡΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ, Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΅ΠΌΡ Π΄Π°Π½Π½ΡΠ΅. ΠΡΠ»ΠΈ ΡΠ΅ΡΠ²Π΅Ρ DDEΠ² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° Π·Π°ΠΏΡΠΎΡ, ΠΎΠ½ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡ DDE. ΠΡΠΎΡΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ Π½Π°Π·ΡΠ²Π°ΡΡ ΡΠ΅Π°Π½ΡΠΎΠΌ ΠΎΠ±ΠΌΠ΅Π½Π° DDE.
Π ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π²Ρ ΠΎΠ΄ΠΈΡ Π»ΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ Π·Π°ΠΏΡΠΎΡΠ°. ΠΠ° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ° DDE ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΎΡΠ²Π΅ΡΠ° Π½Π° Π·Π°ΠΏΡΠΎΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π°Π΄Π°ΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅, ΡΠ΅ΠΌ Π·Π°Π΄Π°ΡΠ° Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. Π ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΊΠ»ΠΈΠ΅Π½Ρ ΡΠ°ΠΊΠΆΠ΅ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ΅ΡΠ²Π΅ΡΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΠ΅ΡΠ²Π΅Ρ ΠΏΠΎ ΠΏΡΠ°Π²Ρ ΡΡΠ°ΡΡΠΈΠ½ΡΡΠ²Π° ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡ Π΅Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π²ΡΡΡΡΠΏΠ°ΡΡ ΠΈ Π² ΡΠΎΠ»ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΈ Π² ΡΠΎΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° DDE, Π½ΠΎ Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ Π΄Π²Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΠΌΠ΅Π½Π°.
ΠΡΠΊΡΡΡΠΈΠ΅ ΡΠ΅Π°Π½ΡΠ° DDE ΠΈΠ½ΠΈΡΠΈΠΈΡΡΠ΅ΡΡΡ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ ΡΡΠΎΡΠΎΠ½Π΅. ΠΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΡΡ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ Π·Π°ΠΊΠ°Π·Π° Π°Π²ΠΈΠ°Π±ΠΈΠ»Π΅ΡΠ° ΠΏΠΎ ΡΠ΅Π»Π΅ΡΠΎΠ½Ρ. ΠΡ Π½Π°Π±ΠΈΡΠ°Π΅ΡΠ΅ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ ΡΠ»ΡΠΆΠ±Ρ Π·Π°ΠΊΠ°Π·ΠΎΠ², Π²ΡΡΡΠΏΠ°Π΅ΡΠ΅ Π² ΡΠ°Π·Π³ΠΎΠ²ΠΎΡ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ Π½Π° ΡΠ΅ΠΌΡ Β«ΡΡΠΎ Π»Π΅ΡΠΈΡ Π² ΠΠ°Π³Π°Π΄Π°Π½Β» ΠΈ Π·Π°ΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅ Π±ΠΈΠ»Π΅Ρ Π½Π° ΡΡΡΡΠ°ΠΈΠ²Π°ΡΡΠΈΠΉ Π²Π°Ρ ΡΠ΅ΠΉΡ. ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ Π½Π° Π½Π΅Π·Π½Π°ΠΊΠΎΠΌΡΡ Π΅ΠΌΡ ΡΠ΅ΠΌΡ ΠΈΠ»ΠΈ ΠΈΠ½ΠΈΡΠΈΠΈΡΡΠ΅ΡΠ΅ ΡΠ΅Π°Π½Ρ Ρ ΠΈΡΠΊΠ°ΠΆΠ΅Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ°, ΡΠΎ, ΡΠ²Ρ, ΡΠ΅Π°Π½Ρ DDE Π½Π΅ ΡΠΎΡΡΠΎΠΈΡΡΡ.
ΠΠ»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» DDE ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π·Π°ΠΏΡΠΎΡΠ°, Π²ΠΊΠ»ΡΡΠ°ΡΡΠ΅Π³ΠΎ ΡΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°:
1. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ° (Service Name) ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΠ΅ΠΌΡ Π½Π°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ-ΡΠ΅ΡΠ²Π΅ΡΡ DDE (Π°Π½Π°Π»ΠΎΠ³ β Π½Π°Π±ΠΎΡ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΎΠ³ΠΎ Π½ΠΎΠΌΠ΅ΡΠ° ΡΠ»ΡΠΆΠ±Ρ Π·Π°ΠΊΠ°Π·Π°).
2. Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅, Π½Π° ΠΊΠ°ΠΊΡΡ ΡΠ΅ΠΌΡ (topic) Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΡΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ (Β«ΡΡΠΎ Π»Π΅ΡΠΈΡ Π² ΠΠ°Π³Π°Π΄Π°Π½Β»).
3. ΠΡΠ±ΠΎΡ Π² ΡΠ΅ΠΌΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ (item) β Π·Π°ΠΊΠ°Π· Π±ΠΈΠ»Π΅ΡΠ°.
ΠΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠΏΠΎΡΠΎΠ±Π½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ΅Π°Π½Ρ DDE, Π² Delphi ΡΠΎΠ·Π΄Π°Π½Ρ ΡΠ΅ΡΡΡΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΊΠ»Π°ΡΡΠ°: TDDEClientConv, TDDEClientItem, TDDEServerConv ΠΈ TDDEServerItem. ΠΠΎ ΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ³Π°Π΄Π°ΡΡΡΡ, ΡΡΠΎ Π΄Π²Π° ΠΏΠ΅ΡΠ²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΡΡ Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π° Π΄Π²Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π½Π°ΡΠ΅Π»Π΅Π½Ρ Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ-ΡΠ΅ΡΠ²Π΅ΡΠ° DDE.
ΠΠ΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ° ΠΎΡΠ²Π΅ΡΠ°ΡΡ ΠΊΠ»Π°ΡΡΡ TDDEClientConv ΠΈ TDDEServerConv.
ΠΠ° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π½Π΅Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ; ΠΎΠ½ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Ρ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ System ΠΏΠ°Π»ΠΈΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Delphi.
Π‘Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ Exchange
Windows ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ. ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ Exchange (DDE). ΠΡΠΎΡΠΎΠΊΠΎΠ» DDE β ΡΡΠΎ Π½Π°Π±ΠΎΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΈ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ². ΠΠ½ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΎΠ±ΡΡΡ ΠΏΠ°ΠΌΡΡΡ Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» DDE Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΡΠ°Π·ΠΎΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ ΠΈ Π΄Π»Ρ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠ³ΠΎ ΠΎΠ±ΠΌΠ΅Π½Π°, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Ρ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π½ΠΎΠ²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ.
Windows ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ Exchange (Π΄Π΄Π΅ΠΌΠ»). ΠΠΠΠΠ β ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ (DLL), ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ . ΠΠΠΠΠ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΡΠΏΡΠΎΡΠ°ΡΡΠΈΠ΅ Π·Π°Π΄Π°ΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ DDE Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠΌΠ΅ΡΡΠΎ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ, ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ DDE Π½Π°ΠΏΡΡΠΌΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΠΠΠΠ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅Π°Π½ΡΠ°ΠΌΠΈ DDE. (Π‘Π΅Π°Π½Ρ DDE β ΡΡΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΌΠΈ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ.)
ΠΠΠΠΠ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ ΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ DDE. ΠΠΌΠ΅ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π°ΡΠΎΠΌΠΎΠ² ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΎΠ±ΡΠ΅ΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ DDE ΡΠΎΠ·Π΄Π°ΡΡ ΠΈ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ°ΠΌΠΈ ΡΡΡΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΡΡΡΠΎΠΊΠΈ ΠΈ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ Π΄Π°Π½Π½ΡΡ , ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠΠΠΠ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½Π° ΡΠ»ΡΠΆΠ±, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ. ΠΠΌΠ΅Π½Π° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½Π° Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΠΠΠΠΠ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ DDE, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡ ΠΈΡ Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» DDE.
Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» DDE Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡ Ρ ΡΠ΅ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΠΠΠΠ. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅Π΅ DDE Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΈ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΌΠΈ ΠΠΠΠΠ. ΠΠ·-Π·Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² ΠΠΠΠΠ Π½ΠΎΠ²ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ, Π° Π½Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ DDE. Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ API ΠΠΠΠΠ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΡΠ°ΠΉΠ» Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΠΠΠΠ, ΡΠ²ΡΠ·Π°ΡΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ ΠΠΠΠΠ ΠΈ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ ΠΠΠΠΠ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌ ΠΏΡΡΠΈ ΠΏΠΎΠΈΡΠΊΠ°.
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ΅ΠΌΡ.
ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Exchange ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ
ΡΠ°ΠΊ ΠΊΠ°ΠΊ Windows ΠΈΠΌΠ΅Π΅Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° (wParam ΠΈ lParam) Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ . Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΡΡΠ»Π°ΡΡΡΡ ΠΊΠΎΡΠ²Π΅Π½Π½ΠΎ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΠ³Π΄Π° ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»ΠΎΠ² Π΄Π°Π½Π½ΡΡ . ΠΡΠΎΡΠΎΠΊΠΎΠ» DDE ΡΠΎΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΊΠ°ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ wParam ΠΈ lParam Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π±ΠΎΠ»ΡΡΠΈΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΠ² Π΄Π°Π½Π½ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ Π°ΡΠΎΠΌΠΎΠ² ΠΈ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ² ΠΎΠ±ΡΠ΅ΠΉ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠΎΡΠΎΠΊΠΎΠ» DDE ΠΈΠΌΠ΅Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° Π΄Π»Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ Π°ΡΠΎΠΌΠΎΠ² ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΎΠ±ΡΠ΅ΠΉ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΠ»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ Atom β ΡΡΠΎ ΡΡΡΠ»ΠΊΠ° Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ ΡΡΡΠΎΠΊΡ. Π ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π΅ DDE Π°ΡΠΎΠΌΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ, Ρ Π°ΡΠ°ΠΊΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈ ΡΠ°ΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄Π°Π½Π½ΡΡ . ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π°ΡΠΎΠΌΠ°Ρ ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΎ Π°ΡΠΎΠΌΠ°Ρ .
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ Windows ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ Exchange
ΠΡΠΎΡΠΎΠΊΠΎΠ» DDE Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΏΠΎΡΠΎΠ± ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠ²ΡΠ·Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π°, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ Π±Π΅Π· ΡΡΠ°ΡΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
DDE ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΈΡΠΎΠΊΠΎΠ³ΠΎ ΡΠΏΠ΅ΠΊΡΡΠ° ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ Exchange Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠ³ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π΄Π²Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ DDE, ΠΊΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ Ρ ΠΎΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Microsoft Excel Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΡΠ΅Π½Ρ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ Π·Π°ΠΏΠ°Ρ Π½Π° Π±ΠΈΡΠΆΠ΅ Π² Π½ΡΡ-ΠΉΠΎΡΠΊΠ΅ Exchange. Π£ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΅ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ quote, ΠΊΠΎΡΠΎΡΠΎΠ΅, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΠΈΠΌΠ΅Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ Π΄Π°Π½Π½ΡΠΌ ΠΠΈΡΠ΅. ΡΠ΅Π°Π½Ρ DDE ΠΌΠ΅ΠΆΠ΄Ρ Excel ΠΈ ΠΊΠ²ΠΎΡΠΎΠΉ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ Exchange ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ
Π ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ°Π·Π΄Π΅Π»Π°Ρ ΠΎΠ±ΡΡΡΠ½ΡΡΡΡΡ Π²Π°ΠΆΠ½ΡΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ ΠΈ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌΠΈ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ.
ΠΠ»ΠΈΠ΅Π½Ρ, ΡΠ΅ΡΠ²Π΅Ρ ΠΈ Π±Π΅ΡΠ΅Π΄Π°
ΠΠ²Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΡΠ°ΡΡΠ²ΡΡΡΠΈΠ΅ Π² DDE, Π³ΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ ΠΎΠ½ΠΈ Π²ΠΎΠ²Π»Π΅ΡΠ΅Π½Ρ Π² ΡΠ΅Π°Π½Ρ DDE. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈΠ½ΠΈΡΠΈΠΈΡΡΡΡΠ΅Π΅ Π΄ΠΈΠ°Π»ΠΎΠ³, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ DDE. ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠ΅Π΅ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ° DDE. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π΄ΠΈΠ°Π»ΠΎΠ³Π°Ρ , Π΄Π΅ΠΉΡΡΠ²ΡΡ ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ° Π² Π΄ΡΡΠ³ΠΈΡ .
Π‘Π΅Π°Π½Ρ DDE ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΠΎΠΊΠ½Π°ΠΌΠΈ, ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΡΡΠ°ΡΡΠ²ΡΡΡΠΈΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠΊΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΎΠΊΠ½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ; ΠΎΠΊΠ½ΠΎ, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ΅ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Ρ ΠΌΠ½ΠΎΠ³ΠΎΠ΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ (MDI); ΠΈΠ»ΠΈ ΡΠΊΡΡΡΠΎΠ΅ (Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΠΎΠ΅) ΠΎΠΊΠ½ΠΎ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ DDE.
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΠ΅Π°Π½Ρ DDE ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΠ°ΡΠΎΠΉ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ² Π΄Π»Ρ ΠΎΠΊΠΎΠ½ Π΄ΠΈΠ°Π»ΠΎΠ³Π°, Π½ΠΈ ΠΎΠ΄Π½ΠΎ ΠΎΠΊΠ½ΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π²ΠΎΠ²Π»Π΅ΡΠ΅Π½ΠΎ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ² Ρ Π΄ΡΡΠ³ΠΈΠΌ ΠΎΠΊΠ½ΠΎΠΌ. ΠΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π΄ΡΡΠ³ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³Π° Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΠΈΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠ°ΡΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ ΠΎΠΊΠΎΠ½ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΡΠ°ΡΡΠ²ΠΎΠ²Π°Π»Π° Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π΄ΠΈΠ°Π»ΠΎΠ³Π°Ρ , ΡΠΎΠ·Π΄Π°Π²Π°Ρ ΡΠΊΡΡΡΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³Π°. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° β ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ DDE.
ΠΠΌΠ΅Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
ΠΡΠΎΡΠΎΠΊΠΎΠ» DDE ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π΅Π΄ΠΈΠ½ΠΈΡΡ Π΄Π°Π½Π½ΡΡ , ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ Ρ ΡΡΠ΅Ρ ΡΡΠΎΠ²Π½Π΅Π²ΠΎΠΉ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠ΅ΠΉ ΠΈΠΌΠ΅Π½ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅Π°Π½Ρ DDE ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠ΅ΠΌΠΎΠΉ. Π Π½Π°ΡΠ°Π»Π΅ ΡΠ΅Π°Π½ΡΠ° DDE ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈ ΡΠ΅ΡΠ²Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΈΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠ°Π·Π΄Π΅Π». ΠΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Excel Π²ΡΡΡΡΠΏΠ°Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ° Π² Π΄ΠΈΠ°Π»ΠΎΠ³Π΅, ΠΈΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ Excel.
Π Π°Π·Π΄Π΅Π» DDE ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΠ±ΡΡΡ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ , Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π΄ΠΈΠ°Π»ΠΎΠ³Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Β«ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΠΌΡΠΌΠΈΒ» (Π² Exchange). ΠΠ»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠ°Π·Π΄Π΅Π» ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°. ΠΠ»Ρ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠ°Π·Π΄Π΅Π» ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π·Π°Π²ΠΈΡΡΡΠΈΠΌ ΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠΊΠ½ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΡΠ΅Π°Π½Ρ DDE, ΠΈΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠ°Π·Π΄Π΅Π», ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³, Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π΄ΠΈΠ°Π»ΠΎΠ³Π°.
ΠΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π°Π½Π½ΡΡ DDE β ΡΡΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΎΡΠ½ΠΎΡΡΡΠ°ΡΡΡ ΠΊ ΡΠ΅ΠΌΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠ½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠ³ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡΡΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΈΠ»ΠΈ Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π½Π° ΡΠ΅ΡΠ²Π΅Ρ. ΠΠ°Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° ΠΈΠ»ΠΈ Ρ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠΎΡΠΌΠ°ΡΠΎΠΌ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°. Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Link ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΡΠ΅Π°Π½ΡΠ΅ DDE. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠΎΡΠΌΠ°ΡΠ°Ρ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π°.
Π Π°Π·Π΄Π΅Π» System
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΡΠ°Π·Π΄Π΅Π» Π²ΡΠ΅ Π²ΡΠ΅ΠΌΡ. Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π΄Π»Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΎΠ±ΡΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ Π΄Π»Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π΄Π°Π½Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠ°Π²Π»ΠΈΠ²Π°ΡΡΡΡ ΠΊ ΠΏΡΠΎΡΠΌΠΎΡΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ _ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ Π±ΡΡΠ΅ΡΠΎΠ² CF. ΠΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π° Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ ΡΠ°Π±ΡΠ»ΡΡΠΈΠΈ. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π°.
ΠΠΎΡΡΠΎΡΠ½Π½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π΄Π°Π½Π½ΡΠ΅
ΠΠΎΡΠ»Π΅ Π½Π°ΡΠ°Π»Π° ΡΠ΅Π°Π½ΡΠ° DDE ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΠ΄Π½Ρ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΡ ΡΡΡΠ»ΠΎΠΊ Π½Π° Π΄Π°Π½Π½ΡΠ΅ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠ°Π½Π°Π» ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ β ΡΡΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠ²ΡΠ·ΠΈ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅Ρ ΡΠ²Π΅Π΄ΠΎΠΌΠ»ΡΠ΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π΄Π°Π½Π½ΡΡ . ΠΠ°Π½Π°Π» Π΄Π°Π½Π½ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΌ Π² ΡΠΎΠΌ ΡΠΌΡΡΠ»Π΅, ΡΡΠΎ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π·Π°Π²Π΅ΡΡΠΈΡΡΡ ΡΠ²ΡΠ·Ρ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈΠ»ΠΈ ΡΠ΅Π°Π½Ρ DDE.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π° Π²ΠΈΠ΄Π° ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΡ ΡΡΡΠ»ΠΎΠΊ Π½Π° Π΄Π°Π½Π½ΡΠ΅ DDE: Π³ΠΎΡΡΡΠΈΠΉ ΠΈ Π³ΠΎΡΡΡΠΈΠΉ. Π ΠΊΠ°Π½Π°Π»Π΅ Π³ΠΎΡΡΡΠΈΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΠ²Π΅Ρ ΡΠ²Π΅Π΄ΠΎΠΌΠ»ΡΠ΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π΄Π°Π½Π½ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ, Π½ΠΎ ΡΠ΅ΡΠ²Π΅Ρ Π½Π΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ , ΠΏΠΎΠΊΠ° ΠΊΠ»ΠΈΠ΅Π½Ρ Π½Π΅ Π·Π°ΠΏΡΠΎΡΠΈΡ Π΅Π³ΠΎ. Π ΠΊΠ°Π½Π°Π»Π΅ Π³ΠΎΡΡΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΠ²Π΅Ρ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ .
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠ΅ Π³ΠΎΡΡΡΡΡ ΠΈΠ»ΠΈ Π³ΠΎΡΡΡΡΡ ΡΠ²ΡΠ·Ρ, ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΠΡΡΠ°Π²ΠΈΡΡ ΡΡΡΠ»ΠΊΡ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΌΠ΅Π½Ρ » ΠΡΠ°Π²ΠΊΠ° «, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΡΡΠ»ΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ.
ΠΡΠΎΠΌΡ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΎΠ±ΡΠ΅ΠΉ ΠΏΠ°ΠΌΡΡΠΈ
DDE ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΎΠ±ΡΠ΅ΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ ΡΡΠ΅Ρ ΡΠ΅Π»Π΅ΠΉ:
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠ»ΡΡΠ°ΡΡΠ΅Π΅ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΎΠ±ΡΠ΅ΠΉ ΠΏΠ°ΠΌΡΡΠΈ DDE, Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΊΠ°ΠΊ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ±ΠΎΡΠ΄Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ Π΄Π»Ρ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ.
ΠΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Ρ Atom DDE, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΎΠ±ΡΠ΅ΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΡΡ. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΎΠ±ΡΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΡ Exchange ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ
Π’Π°ΠΊ ΠΊΠ°ΠΊ DDE ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠΌ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΎΠ½ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. ΠΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ DDE ΠΏΡΠΎΡ ΠΎΠ΄ΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ DDE ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΌΠΈ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΌΠΈ ΠΎΠΊΠ½Π°ΠΌΠΈ.
ΠΠΌΠ΅Π΅ΡΡΡ Π΄Π΅Π²ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ DDE; Π‘ΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Π΄Π»Ρ ΡΡΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° DDE. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ DDE ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π² ΡΡΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ DDE.
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|
WM _ DDE _ ACK | ΠΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ. |
ΠΡΠΎΡΠΎΠΊΠΎΠ» WM _ DDE _ advise | ΠΠ°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ. ΠΡΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΉ ΠΊΠ°Π½Π°Π» Π΄Π°Π½Π½ΡΡ . |
_Π΄Π°Π½Π½ΡΠ΅ DDE _ WM | ΠΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π² ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π΄Π°Π½Π½ΡΡ . |
_Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ WM DDE _ | ΠΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΡΠΎΠΊΡ Π² ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΡΡΠΎΠΊΠΈ Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄. |
_ΠΠ°ΠΏΡΡΠΊ WM DDE _ | ΠΠ½ΠΈΡΠΈΠΈΡΡΠ΅Ρ Π΄ΠΈΠ°Π»ΠΎΠ³ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΌΠΈ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ. |
_ΠΡΡΠ°Π²ΠΊΠ° DDE _ WM | ΠΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π΄Π°Π½Π½ΡΡ Π² ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. |
_Π·Π°ΠΏΡΠΎΡ DDE _ WM | ΠΠ°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π΄Π°Π½Π½ΡΡ . |
_ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ WM DDE _ | ΠΠ°Π²Π΅ΡΡΠ°Π΅Ρ Π΄ΠΈΠ°Π»ΠΎΠ³. |
WM _ DDE _ unadvise | ΠΠ°Π²Π΅ΡΡΠ°Π΅Ρ ΡΠ²ΡΠ·Ρ Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ. |
ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Exchange Flow
Π’ΠΈΠΏΠΈΡΠ½ΡΠΉ ΡΠ΅Π°Π½Ρ DDE ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ.
ΠΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΠΈΡΠΈΠΈΡΡΠ΅Ρ Π΄ΠΈΠ°Π»ΠΎΠ³, ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π²ΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²:
ΠΠ»ΠΈΠ΅Π½Ρ ΠΈΠ»ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ Π΄ΠΈΠ°Π»ΠΎΠ³.
ΠΠΊΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠ΅Π΅ Π·Π°ΠΏΡΠΎΡΡ ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈΠ»ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°, Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΈΡ ΡΡΡΠΎΠ³ΠΎ Π² ΡΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½Ρ.
ΠΠ»ΠΈΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΈ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ. ΡΠ΅ΡΠ²Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΈ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ. ΠΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΈΠ· Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈΠ»ΠΈ ΡΠ΅ΡΠ²Π΅Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π΄ΠΈΠ°Π»ΠΎΠ³Π°, Π½ΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π²ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ. ΠΠ½ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³Π° ΠΊ Π΄ΡΡΠ³ΠΎΠΌΡ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ±ΠΎΠΉ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈΠ»ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° Π΄Π»Ρ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ΅ΡΠΈ), ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΏΠΎΡΠΎΠ± ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π° Π².
Π€ΡΠ½ΠΊΡΠΈΠΈ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ Exchange ΠΈ ΠΎΠ»ΠΈΡΠ΅ΡΠ²ΠΎΡΠ΅Π½ΠΈΠ΅
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Microsoft Windows 3.1 Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π³Π»Π°Π²Ρ
3. ΠΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½ΡΠΌΠΈ ΡΠ΅ΡΠ΅Π· DDE
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Windows ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊ ΠΈ ΠΏΠΎΡΡΡΠΏΠ°Π΅Ρ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ°ΠΌΠ° ΠΏΠΎ ΡΠ΅Π±Π΅ ΡΡΠ° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²Π°ΠΆΠ½Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ Windows Π½Π΅ ΠΈΠΌΠ΅Π»Π° Π±Ρ ΡΡΠΎΠ»Ρ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ Π±Ρ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π»ΠΈ ΡΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ.
Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ Π³Π»Π°Π²Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Π΄ΡΡΠ³ΠΎΠ΅ ΡΠ΅ΡΠ΅Π· ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Clipboard. ΠΡΠΈ ΡΡΠΎΠΌ ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½ΡΠΌΠΈ Π½ΠΎΡΠΈΡ ΡΠΏΠΈΠ·ΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈΠΉ Ρ Π°ΡΠ°ΠΊΡΠ΅Ρ ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ Π΅Π³ΠΎ Π² Clipboard ΠΈ Π·Π°ΡΠ΅ΠΌ Π²ΡΡΠ°Π²Π»ΡΠ΅Ρ Π² Π΄ΡΡΠ³ΠΎΠΉ ΠΈΠ»ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΌΡΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ.
ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ.
ΠΡΠ΅Π΄ΠΌΠ΅ΡΠΎΠΌ Π½Π°ΡΠ΅Π³ΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ Π±ΡΠ΄Π΅Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ DDE (Dynamic Data Exchange), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠ΅ ΠΊΠ°Π½Π°Π»Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ Windows. ΠΡΠΈ ΠΊΠ°Π½Π°Π»Ρ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎ ΡΠ²Π½ΠΎΠΌΡ Π·Π°ΠΏΡΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΊΠ°Π½Π°Π»Ρ ΡΠΎΠ·Π΄Π°Π½Ρ, ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±Π΅Π· Π²ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΡΡΠ²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
Π ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Windows Π²Π΅ΡΡΠΈΠΈ 3.0 ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ DDE Π±ΡΠ» ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΠ΅ΡΠ΅Π· ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Ρ ΠΎΡΠΎΡΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΉ Π²Π°ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ SendMessage Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ Π±Π»ΠΎΠΊΠΎΠ² ΠΏΠ°ΠΌΡΡΠΈ, Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π²ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ DDE-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π±ΡΠ» Π²ΡΠ½ΡΠΆΠ΄Π΅Π½ Π²Π½ΠΈΠΊΠ°ΡΡ Π²ΠΎ Π²ΡΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ°Π½Π°Π»Π° ΡΠ²ΡΠ·ΠΈ, ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π² SDK ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°. ΠΠΎΡΡΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΡ DDE ΡΠΎΠΏΡΡΡΡΠ²ΠΎΠ²Π°Π»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π·Π°ΡΡΡΠ΄Π½Π΅Π½ΠΈΡ.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° DDEML Ρ ΠΎΡΠΎΡΠ° ΡΠ°ΠΌΠ° ΠΏΠΎ ΡΠ΅Π±Π΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° ΡΠΏΡΠΎΡΠ°Π΅Ρ DDE-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΈΠ·Π±Π°Π²Π»ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° ΠΎΡ ΡΡΠ΅ΡΠ° ΡΡΠΎΠΌΠΈΡΠ΅Π»ΡΠ½ΡΡ Π΄Π΅ΡΠ°Π»Π΅ΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ Π΅ΡΡΡ Π΅ΡΠ΅ Π΄Π²Π΅ ΠΏΡΠΈΡΠΈΠ½Ρ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ.
ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Π² Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡΡ Windows, Π° ΡΠ°ΠΊΠΆΠ΅ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Windows NT Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½ΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΠ΅ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ DDEML. ΠΠΎΡΡΠΎΠΌΡ Π΅ΡΠ»ΠΈ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ Π²Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡΡ ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΡΠ΅Π΄Ρ Windows NT ΠΈΠ»ΠΈ Windows-95, ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΡΡΠ°Π·Ρ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π° ΡΠ°Π±ΠΎΡΡ Ρ DDEML.
ΠΠΎ-Π²ΡΠΎΡΡΡ , Π²ΡΠΏΠΎΠΌΠ½ΠΈΠΌ ΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠ°ΠΊ Windows for Workgroups. Π‘Π΅ΡΠ΅Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Windows for Workgroups Π±Π°Π·ΠΈΡΡΡΡΡΡ Π½Π° ΡΠ΅ΡΠ΅Π²ΠΎΠΌ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΎΠ±ΠΌΠ΅Π½Π΅ Π΄Π°Π½Π½ΡΠΌΠΈ Network DDE (ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Windows NT ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Network DDE).
ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Network DDE ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°Π½Π°Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΠΏΡΡΠ΅Π½Ρ Π½Π° ΡΠ°Π·Π½ΡΡ ΡΠ°Π±ΠΎΡΠΈΡ ΡΡΠ°Π½ΡΠΈΡΡ ΡΠ΅ΡΠΈ. ΠΠΎΡΡΠΎΠΌΡ ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ «ΠΎΠ±ΡΡΠ½ΠΎΠΉ» Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ DDEML ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ ΠΏΠ΅ΡΠ²ΡΠΌ ΡΠ°Π³ΠΎΠΌ Π½Π° ΠΏΡΡΠΈ ΠΊ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π²ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π²Π΅ΡΡΠΈΠΉ Windows.
ΠΡΡ ΠΎΠ΄Ρ ΠΈΠ· ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅, ΠΌΡ ΡΡΠΈΡΠ°Π΅ΠΌ Π½Π΅ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠΌ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ DDE. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΡΡΠ°Π·Ρ Π·Π°ΠΉΠΌΠ΅ΠΌΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ DDEML, ΡΡΠ°Π²ΡΠ΅ΠΉ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ ΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Windows.
3.1. ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° «ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅Ρ»
ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌΡΡ Ρ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ.
ΠΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΡ (ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ), ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ»ΠΈ ΡΠ°Π·Π½ΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ (ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΡ Π² ΡΠ΅ΡΡ), ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
ΠΠ»ΠΈΠ΅Π½Ρ ΠΏΠΎΡΡΠ»Π°Π΅Ρ ΡΠ΅ΡΠ²Π΅ΡΡ Π·Π°ΠΏΡΠΎΡ Π½Π° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΠ°Π±ΠΎΡΡ (ΡΠΈΡ. 3.1). ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΡΠΎΡ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , Π·Π°Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΈΡΠΊΠΎΠ² ΠΈΠ»ΠΈ ΡΡΠΎ-ΡΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎΠ΅.
Π ΠΈΡ. 3.1. ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ
Π‘Π΅ΡΠ²Π΅Ρ, ΠΏΠΎΠ»ΡΡΠΈΠ² ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π·Π°ΠΏΡΠΎΡ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΈ ΠΏΠΎΡΡΠ»Π°Π΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΎΡΠ²Π΅Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΡΠ²Π΅Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡ Π½ΡΠΆΠ½ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΠΏΠΎΡΡΠ»Π°Π΅Ρ ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡ. Π‘Π΅ΡΠ²Π΅Ρ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Π²ΠΎΠ΄ΠΈΡ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π²ΡΠ³ΡΡΠ·ΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π½Π° ΠΌΠ°Π³Π½ΠΈΡΠ½ΡΡ Π»Π΅Π½ΡΡ ΠΈΠ»ΠΈ ΠΌΠ°Π³Π½ΠΈΡΠΎΠΎΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΎ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ.
ΠΡΠΎΡΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π·Π°ΠΏΡΠΎΡΠ° ΡΠ΅ΡΠ²Π΅ΡΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π½Π°Π·ΡΠ²Π°ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠ΅ΠΉ.
Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π·Π°Π²Π΅ΡΡΠ΅Π½Π½ΠΎΠΉ, Π΅ΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ Π²ΡΠ΅ ΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ. ΠΡΠ»ΠΈ ΠΆΠ΅ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡΡΠ΅Ρ ΡΡΠ°ΠΏΠΎΠ² ΠΏΡΠΎΠΈΠ·ΠΎΡΠ΅Π» ΡΠ±ΠΎΠΉ, ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΎΡΡΠ°Π½Π΅ΡΡΡ Π½Π΅Π·Π°Π²Π΅ΡΡΠ΅Π½Π½ΠΎΠΉ. ΠΠΎΡΠ»Π΅ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π½Π΅Π·Π°Π²Π΅ΡΡΠ΅Π½Π½Π°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΎΡΠΊΠ°ΡΡΠ²Π°Π΅ΡΡΡ, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π² ΡΡΠ΄Π΅ ΡΠ»ΡΡΠ°Π΅Π² Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ Π΄Π°Π½Π½ΡΡ (ΡΠ°Π·ΡΠΌΠ΅Π΅ΡΡΡ, Π·Π° ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΡΠΊΠ°ΡΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ ΡΠ΅ΡΠ²Π΅Ρ).
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΡΠ΅ΡΠ²Π΅Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ»ΡΡΠΈΠ» ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π·Π°ΠΏΡΠΎΡ Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ°ΠΉΠ»Π°Ρ ΠΈ ΠΏΠ΅ΡΠ΅Π΄ Π°Π²Π°ΡΠΈΠΉΠ½ΡΠΌ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ»Π΅ΠΊΡΡΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠΏΠ΅Π» Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΡ ΡΠ°Π±ΠΎΡΡ, ΠΏΠΎΡΠ»Π΅ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π΅ΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΡΠ°Π»Π° Π½Π΅Π·Π°Π²Π΅ΡΡΠ΅Π½Π½ΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ.
Π’ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΈΠΌΠ΅ΡΡΠ΅ΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ «ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅Ρ», ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠΉ. ΠΠ° ΡΠΈΡ. 3.1 ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°, ΡΠΎΡΡΠΎΡΡΠ°Ρ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠ΄Π½Π°ΠΊΠΎ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ², ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ (ΡΠΈΡ. 3.2), ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ², ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ (ΡΠΈΡ. 3.3).
Π ΠΈΡ. 3.2. Π‘ΠΈΡΡΠ΅ΠΌΠ° Ρ ΠΎΠ΄Π½ΠΈΠΌ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΡΠ½ΠΊΡΠΈΡΠ½ΡΡ Π»ΠΈΠ½ΠΈΡ, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΡ Π½Π° ΡΠΈΡ. 3.3. ΠΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ ΡΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ΄ΡΠΈ ΠΎΠ±ΠΌΠ΅Π½ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π»ΡΠ±ΠΎΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΡΡΠΏΠ°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ, ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ.
Π ΠΈΡ. 3.3. Π‘ΠΈΡΡΠ΅ΠΌΠ° Ρ Π΄Π²ΡΠΌΡ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ
ΠΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΎ, ΡΠΊΠ°ΠΆΠ΅ΡΠ΅ Π²Ρ, Π½ΠΎ ΠΏΡΠΈΡΠ΅ΠΌ ΡΡΡ DDE?
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° DDEML ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΈΠΌΠ΅ΡΡΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΈ. Π ΡΡΠ΅Π΄Π΅ Windows Π²Π΅ΡΡΠΈΠΈ 3.1 Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΌΠΎΠ³ΡΡ Π²ΡΡΡΡΠΏΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅. Π Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ, ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ Π½Π° Π±Π°Π·Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Windows for Workgroups ΠΈ Windows NT, ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ Π½Π° ΡΠ°Π·Π½ΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ .
3.2. ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°Π½Π°Π»Π° ΡΠ²ΡΠ·ΠΈ
Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΡΠ²Π΅Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ°ΠΊΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π±Ρ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ DDEML;
Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΌ ΡΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅-ΠΊΠ»ΠΈΠ΅Π½Ρ
ΠΠ»ΠΈΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π±Ρ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ DDEML;
ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ°Π½Π°Π» ΡΠ²ΡΠ·ΠΈ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ, ΡΠΊΠ°Π·Π°Π² Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅.
Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ DDEML
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° DDEML ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π²ΡΠ΅ΠΌ DLL-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌ, Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π² Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ΅. Π€ΡΠ½ΠΊΡΠΈΡ LibMain, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ°Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ DLL-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π² ΠΏΠ°ΠΌΡΡΡ (Π΄Π»Ρ Windows Π²Π΅ΡΡΠΈΠΈ 3.1), ΠΏΠΎΡΡΠΎΠΌΡ LibMain Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ DDEML, ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π±Ρ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ DDEML, Π²ΡΠ·Π²Π°Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ DdeInitialize.
ΠΡΠΎΡΠΎΡΠΈΠΏ ΡΡΠ½ΠΊΡΠΈΠΈ DdeInitialize ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π² ΡΠ°ΠΉΠ»Π΅ ddeml.h (ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½ Π² ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ΅ΠΊΡΡ DDEML-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π°ΡΡΠ΄Ρ Ρ ΡΠ°ΠΉΠ»ΠΎΠΌ windows.h):
UINT WINAPI DdeInitialize(
DWORD FAR* pidInst, // Π°Π΄ΡΠ΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
PFNCALLBACK pfnCallback, // Π°Π΄ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°
Π€ΡΠ½ΠΊΡΠΈΡ DdeInitialize ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² DDEML. Π‘Π°ΠΌΠ° ΠΏΠΎ ΡΠ΅Π±Π΅ ΠΎΠ½Π° Π½Π΅ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΊΠ°Π½Π°Π»ΠΎΠ² ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠ°Ρ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ, Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Π° Π΄ΠΎ Π²ΡΠ·ΠΎΠ²Π° Π»ΡΠ±ΡΡ Π΄ΡΡΠ³ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΈΠΌΠ΅ΡΡΠΈΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊ DDEML.
ΠΠ°ΠΉΠΌΠ΅ΠΌΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ DdeInitialize.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ pidInst ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π΄Π²ΠΎΠΉΠ½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ, Π² ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΠΈΡΠ°Π½ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½Π½ΡΠΉ ΠΊΠΎΠΏΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ DDEML (ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΠ³ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΏΠΈΠΉ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ DDEML-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ). ΠΠ½ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° DDEML ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅Ρ ΠΊΠΎΠΏΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΠΏΠΎΠ΄ ΠΊΠΎΡΠΎΡΡΠΌ ΠΎΠ½Π° Π΅Π³ΠΎ «Π·Π½Π°Π΅Ρ». ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ Π²ΡΠ΅Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ DDEML.
ΠΠ΅ΡΠ΅Π΄ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ DdeInitialize Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π² Π΄Π²ΠΎΠΉΠ½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ, Π°Π΄ΡΠ΅Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, Π½ΡΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ pfnCallback ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ. ΠΠ°ΠΊ ΡΠ΅ΡΠ²Π΅Ρ, ΡΠ°ΠΊ ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ°ΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΡ. Π€ΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ DDEML ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π² ΡΠ΅Π±Π΅ Π²ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π²Π°ΠΌΠΈ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ DdeInitialize Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎΠΉ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°. ΠΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½Π°Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π²ΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠ°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° DDEML Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π΄Π»Ρ ΡΠ΅Π±Ρ Π½ΠΎΠ²ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π’Π°ΠΊΠ°Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ DLL-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ Ρ DDEML. ΠΠ±ΡΡΠ½ΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π±Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΎΠ΄Π½Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°.
Π§Π΅ΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ afCmd ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π΄Π²ΠΎΠΉΠ½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ, ΠΊΠ°ΠΆΠ΄ΡΠΉ Π±ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π°Π³ΠΎΠΌ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠΌ ΡΠ΅ΠΆΠΈΠΌΡ ΡΠ°Π±ΠΎΡΡ ΠΊΠ°Π½Π°Π»Π° ΡΠ²ΡΠ·ΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ Π²Π»ΠΈΡΡΡΠΈΠ΅ Π½Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ DdeInitialize.
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ulRes Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½ ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ Π½ΡΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π°, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ΅Π³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ° Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ DDEML:
Π ΡΡΠΎΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅ Π²Π½Π°ΡΠ°Π»Π΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π½ΠΈΠΊ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°, Π·Π°ΡΠ΅ΠΌ Π°Π΄ΡΠ΅Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π½ΠΈΠΊΠ° ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ DdeInitialize.
Π ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅Ρ Π° ΡΡΠ½ΠΊΡΠΈΡ DdeInitialize Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½ΡΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ DMLERR_NO_ERROR, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π² ΡΠ°ΠΉΠ»Π΅ ddeml.h. ΠΡΠ»ΠΈ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π½Π΅Π½ΡΠ»Π΅Π²ΠΎΠΉ ΠΊΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π² ΡΠ°ΠΉΠ»Π΅ ddeml.h ΠΈ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠ΅ΡΠΈΠΊΡ ΠΈΠΌΠ΅Π½ΠΈ DMLERR.
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎ ΡΠ»Π°Π³Π°Ρ , ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ afCmd.
Π‘ΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Ρ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠΌ ΠΈΠΌΠ΅Π½ΠΈ APPCLASS ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π·Π°Π΄Π°ΡΡ ΠΊΠ»Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ DDEML.
ΠΠ»Π°ΡΡ APPCLASS_STANDARD ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ DDEML-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎΡ ΠΊΠ»Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅ ΠΊΠΎΠ΄Π° ΠΈ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ DDEMLSR, ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ΅ΠΊΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΠΏΠΎΠ·ΠΆΠ΅.
ΠΠ»Π°ΡΡ APPCLASS_MONITOR ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΎΠ² ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΡ ΡΠ°Π±ΠΎΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ DDEML. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ DDESpy. ΠΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΡΠΎΡΡΠ°Π²Π΅ Microsoft SDK for Windows 3.1 ΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΎ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ DDE-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (ΠΈ, ΡΠ°Π·ΡΠΌΠ΅Π΅ΡΡΡ, DDEML-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ). Π ΠΊΠΎΠ½ΡΠ΅ Π΄Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Ρ ΠΌΡ Π½Π°ΡΡΠΈΠΌ Π²Π°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ DDESpy Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π²Π°ΠΌΠΈ DDE-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
Π‘ΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Ρ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠΌ ΠΈΠΌΠ΅Π½ΠΈ APPCMD ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΈ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ. ΠΡΠ»ΠΈ DDEML-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ»Π°Π³ APPCMD_CLIENTONLY:
Π ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ»Π°ΡΡΠ° APPCLASS_STANDARD ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° DDEML ΠΈ ΡΠ»Π°Π³Π° APPCMD_CLIENTONLY ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° DDEML. ΠΡ ΡΠ°ΠΊ ΠΈ ΠΏΠΎΡΡΡΠΏΠΈΠ»ΠΈ Π² Π½Π°ΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ DDEMLSR ΠΈ DDEMLCL, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΡ , ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° DDEML. ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»Π°Π³ΠΈ Π²Π»ΠΈΡΡΡ Π½Π° ΡΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΈ Π·Π°ΡΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°.
ΠΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ DDEML, ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ DdeUninitialize, ΠΏΠ΅ΡΠ΅Π΄Π°Π² Π΅ΠΉ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠΎΠΏΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ DdeInitialize:
Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠ°
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°ΠΏ Π² ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° DDEML Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΈΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ°.
Π‘Π΅ΡΠ²Π΅Ρ DDEML ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠ΅ΡΠ²ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π²ΠΈΠ΄ΠΎΠ². ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΎΠ΄ΠΈΠ½ ΡΠ΅ΡΠ²Π΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ΅ΡΠ²ΠΈΡ, ΠΏΡΠΈΡΠ΅ΠΌ ΡΠ΅ΠΊΡΡΠΎΠ²Π°Ρ ΡΡΡΠΎΠΊΠ°, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΡΡΠ°Ρ ΡΠ΅ΡΠ²ΠΈΡ, ΡΠ°ΡΡΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ Π»ΡΠ±ΡΡ Π΄ΡΡΠ³ΡΡ ΡΡΡΠΎΠΊΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ DDEMLSR ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΅ΡΠ²ΠΈΡ «BMPService». ΠΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ³Π°Π΄Π°ΡΡΡΡ ΠΈΠ· Π½Π°Π·Π²Π°Π½ΠΈΡ, ΡΡΠΎΡ ΡΠ΅ΡΠ²ΠΈΡ ΡΠ²ΡΠ·Π°Π½ Ρ bmp-ΡΠ°ΠΉΠ»Π°ΠΌΠΈ (Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΌΡ ΠΏΡΠΈΠ²Π΅Π»ΠΈ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ° bmp-ΡΠ°ΠΉΠ»ΠΎΠ², Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π΄Π»Ρ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΌΠ° Π»ΠΈΡΡΠΈΠ½Π³ΠΎΠ² ΠΈΠ·ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ bmp-ΡΠ°ΠΉΠ»ΠΎΠ²).
ΠΠ°Π½Π°Π» DDEML ΡΠ»ΡΠΆΠΈΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π±Π»ΠΎΠΊΠΎΠ² Π΄Π°Π½Π½ΡΡ . Π ΡΠ°ΠΌΠΊΠ°Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΡΠ°Π·Π½ΡΠΌΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ , ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π΄Π°Π½Π½ΡΡ . Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ°Π½Π°Π»Π° ΡΠ²ΡΠ·ΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄Π°Π½Π½ΡΡ .
ΠΠ»Ρ ΠΈΠ»Π»ΡΡΡΡΠ°ΡΠΈΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ΅ΡΠ²Π΅Ρ BMPSERV.EXE, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΉ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π±ΠΈΡΠΎΠ²ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ DIB, ΠΏΡΠΈΡΠ΅ΠΌ ΠΏΡΡΡ ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌΡ bmp-ΡΠ°ΠΉΠ»Ρ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΡ ΡΠ΅ΡΠ΅Π· ΠΊΠ°Π½Π°Π» ΡΠ²ΡΠ·ΠΈ DDE.
ΠΡΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΡΠ΅ΡΠ²Π΅Ρ BMPSERV.EXE ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ΅ΡΠ²ΠΈΡ «BMPServer» ΠΈ Π΄Π²Π° ΡΠ°Π·Π΄Π΅Π»Π°: «BMPFile» ΠΈ «Control» (ΡΠΈΡ. 3.4).
Π ΠΈΡ. 3.4. Π‘Π΅ΡΠ²ΠΈΡ, ΡΠ°Π·Π΄Π΅Π»Ρ ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° BMPSERV
Π ΡΠ°Π·Π΄Π΅Π»Π΅ «BMPFile» ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄Π°Π½Π½ΡΡ «Filename» (ΠΈΠΌΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ bmp-ΡΠ°ΠΉΠ»Π°) ΠΈ «Title» (Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΡ ΠΏΠΎΠ΄ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ). Π ΡΠ°Π·Π΄Π΅Π»Π΅ «Control» ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΎΠ΄ΠΈΠ½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π°Π½Π½ΡΡ «Mode», ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΈ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΊΠ½Π°, ΠΎΡΠ³Π°Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ Ρ. ΠΏ.).
Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Π°Ρ ΡΡ Π΅ΠΌΠ° Π½Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°Ρ ΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅ ΡΠ°ΠΌΠ°Ρ ΠΏΡΠΎΡΡΠ°Ρ. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΊΠ°Π½Π°Π»ΠΎΠΌ, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Ρ ΠΏΠΎ Π½Π΅ΠΌΡ Π»ΠΈΠ±ΠΎ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ, Π»ΠΈΠ±ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΈΠΌΠ΅ΡΡΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ DDEML ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ DdeInitialize ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² Π΄Π²Π° ΡΡΠ°ΠΏΠ°.
ΠΠ° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΈΠΌΠ΅Π½ΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ° ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ (ΡΠ°Π±Π»ΠΈΡΠ΅ Π°ΡΠΎΠΌΠΎΠ²), Π΄Π»Ρ ΡΠ΅Π³ΠΎ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ DdeCreateStringHandle:
Π§Π΅ΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ idInst ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ Π½Π° ΡΡΠ°ΠΏΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ DDEML ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ DdeInitialize.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ psz ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ, Π·Π°ΠΊΡΡΡΡΡ Π΄Π²ΠΎΠΈΡΠ½ΡΠΌ Π½ΡΠ»Π΅ΠΌ. Π Π°Π·ΠΌΠ΅Ρ ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠ΅Π²ΡΡΠ°ΡΡ 255 Π±Π°ΠΉΡ.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° iCodePage ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ CP_WINANSI (ΡΡΠ° ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° ΡΠ°Π²Π½Π° Π½ΡΠ»Ρ). ΠΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ GetKBCodePage. Π€ΡΠ½ΠΊΡΠΈΡ GetKBCodePage Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½ΠΎΠΌΠ΅Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ.
ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π½ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ DdeCreateStringHandle ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅ΠΌΠΎΠΌΡ ΡΠ΅ΡΠ²ΠΈΡΡ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ DdeNameService:
Π§Π΅ΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ idInst ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ Π½Π° ΡΡΠ°ΠΏΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ DDEML ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ DdeInitialize.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ hsz1 ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ° ΡΠ΅ΡΠ΅Π· ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ DdeCreateStringHandle.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ hsz2 Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½, Π΄Π»Ρ Π½Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½ΡΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΡΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ° ΡΠ΅ΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ afCmd ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ DNS_REGISTER (ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠ°). Π‘Π΅ΡΠ²Π΅Ρ DDEML Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΎΡΠΌΠ΅Π½ΡΡΡ Π²ΠΈΠ΄Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ°. ΠΠ»Ρ ΠΎΡΠΌΠ΅Π½Ρ ΡΠ΅ΡΠ²ΠΈΡΠ° ΡΠ΅ΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ afCmd ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ DNS_UNREGISTER.
ΠΠ΅ΡΠ΅Π΄ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΡΠ²Π΅Ρ DDEML Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π²Π΅ΡΡ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈΠΌ ΡΠ°Π½Π΅Π΅ ΡΠ΅ΡΠ²ΠΈΡ, Π²ΡΠ·Π²Π°Π² ΡΡΠ½ΠΊΡΠΈΡ DdeInitialize Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ afCmd, ΠΈΠΌΠ΅ΡΡΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ DNS_UNREGISTER.
ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π°, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ΅Π³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠ° «BMPServer»:
ΠΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠ΅ΠΉ ΡΠ΅ΡΠ²ΠΈΡΠ° ΡΠ΅ΡΠ²Π΅Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΡΡΠΎΠΊ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΠΈΠΌΠ΅Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π΄Π°Π½Π½ΡΡ . ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π²ΡΠ΅ ΡΠ° ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΡ DdeCreateStringHandle:
ΠΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ²Π΅Ρ DDEML. Π§ΡΠΎ ΠΆΠ΅ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΡΡΠΎΠΊ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ DdeCreateStringHandle, ΡΠΎ ΡΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ, ΡΠ°ΠΊ ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ. ΠΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΊΠ°Π½Π°Π»Π° ΠΈ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ .
ΠΠ½Π°Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΠΎΠΊΠΈ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΡΠΎΠΊΡ, Π²ΡΠ·Π²Π°Π² ΡΡΠ½ΠΊΡΠΈΡ DdeQueryString:
ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΠΎΠ½ΡΡΠ½ΠΎ ΠΈΠ· ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² Π² ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΡΠ»ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° (ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅), Π·Π° ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ, ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ° DDEML. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ½ΠΈΡΡΠΎΠΆΠ°ΡΡ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ ΠΈΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ, Π²ΡΠ·ΡΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ DdeFreeStringHandle:
Π€ΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° DDEML
ΠΠΎΠ³Π΄Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΈΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅Ρ ΡΠ΅Π±Ρ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ DDEML ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ DdeInitialize, ΠΎΠ½ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π°Π΄ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π½ΠΈΠΊΠ°, ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°. Π€ΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π²ΡΠ΅Ρ ΡΠΎΠ±ΡΡΠΈΠΉ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ°Π½Π°Π»ΠΎΠ² ΡΠ²ΡΠ·ΠΈ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ .
Π ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΡΠ΅ΡΠ²Π΅ΡΠ° DDEML ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π€ΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΠΊΠ°ΠΊ ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠ°Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΡΠΊΠ°Π·Π°Π»ΠΈ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ _export.
Π§Π΅ΡΠ΅Π· ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ wType ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΊΠΎΠ΄ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠΊΠ½Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° DDEML Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ. Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΊΠΎΠ΄Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° DDEML Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΡΠΎΡΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π·Π°Π΄Π°Π΅Ρ ΠΊΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ . ΠΠ»Ρ ΠΊΠΎΠ΄ΠΎΠ² ΡΠΎΡΠΌΠ°ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ΅ ΠΆΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΡΠΎ ΠΈ Π΄Π»Ρ ΡΠΎΡΠΌΠ°ΡΠΎΠ² Clipboard, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, CF_TEXT.
Π§Π΅ΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ hConv ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠ°Π½Π°Π»Π° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ (ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Π΅ΡΠ΅ Π½Π΅ Π½Π°ΡΡΠΈΠ»ΠΈΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ).
ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ΄Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅ ΠΊΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΠ΄ΠΎΠ² ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π² ΡΠ°ΠΉΠ»Π΅ ddeml.h, ΠΈ ΠΈΠΌΠ΅ΡΡΠΈΠ΅ ΠΏΡΠ΅ΡΠΈΠΊΡ ΠΈΠΌΠ΅Π½ΠΈ XTYP. Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΌΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΡ Π² Π½Π°ΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ .
Π€ΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° DDEML Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅, ΠΎΡΠ»ΠΈΡΠ°ΡΡΡ Π»ΠΈΡΡ ΡΠΎΡΡΠ°Π²ΠΎΠΌ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ. ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ΅ΠΊΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ· Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ DDEMLCL:
ΠΡΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ DDEML ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ DdeInitialize ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ»Π°Π³ΠΈ, Π·Π°ΠΏΡΠ΅ΡΠ°ΡΡΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡΠΈΠ΅ ΠΏΠΎΡΡΡΠΏΠ»Π΅Π½ΠΈΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΈΠΏΠΎΠ² Π² ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°. ΠΠ°ΠΏΡΠ΅ΡΠΈΠ² Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° Π΄Π»Ρ Π½Π΅ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ, ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΊΠΎΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΡΠ½ΠΈΡΡΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°Π½Π°Π»Π°
ΠΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ½ΠΈΡΠΈΠ°ΡΠΎΡΠΎΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ°Π½Π°Π»Π°?
ΠΠ°Π½Π°Π» ΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎ ΠΈΠ½ΠΈΡΠΈΠ°ΡΠΈΠ²Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. ΠΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ DDEML ΠΊΠ»ΠΈΠ΅Π½Ρ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ DdeConnect, ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΊΠ°Π½Π°Π» ΡΠ²ΡΠ·ΠΈ:
Π§Π΅ΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ idInst ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ Π½Π° ΡΡΠ°ΠΏΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ DDEML ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ DdeInitialize.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ hszService ΠΈ hszTopic ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΡΡΡΠΎΠΊ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ , ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΠΈΠΌΠ΅Π½Π° ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΈ ΡΠ°Π·Π΄Π΅Π»Π°. ΠΡΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π±ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½Ρ Π½Π°ΠΌΠΈ ΡΠ°Π½Π΅Π΅ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ DdeCreateStringHandle.
Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ DDEMLCL Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ°Π½Π°Π»Π° Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π°:
ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠ°Π½Π°Π»Π°, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ DdeConnect, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ°.
Π§ΡΠΎ ΠΆΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΊΠ»ΠΈΠ΅Π½Ρ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΊΠ°Π½Π°Π», Π²ΡΠ·ΡΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ DdeConnect?
ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° DDEML ΠΏΠΎΡΡΠ»Π°Π΅Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ XTYP_CONNECT Π²ΡΠ΅ΠΌ Π°ΠΊΡΠΈΠ²Π½ΡΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΠ΅ΡΠ²ΠΈΡ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ DdeConnect.
ΠΠ»Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ XTYP_CONNECT ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ | ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ |
hsz1 | ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΠΎΠΊΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ ΠΈΠΌΡ ΡΠ°Π·Π΄Π΅Π»Π° |
hsz2 | ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΠΎΠΊΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ ΠΈΠΌΡ ΡΠ΅ΡΠ²ΠΈΡΠ° |
dwData1 | ΠΠ΄ΡΠ΅Ρ ΡΡΡΡΠΊΡΡΡΡ CONVCONTEXT |
dwData2 | ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π²Π½ΠΎ TRUE, Π΄Π°Π½Π½Π°Ρ ΠΊΠΎΠΏΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ, ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ. ΠΡΠ»ΠΈ ΠΆΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π²Π½ΠΎ FALSE, ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈ ΡΠ΅ΡΠ²Π΅Ρ ΡΠ²Π»ΡΡΡΡΡ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΈΠ»ΠΈ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΊΠΎΠΏΠΈΡΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ |
ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ XTYP_CONNECT, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Π² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΡΠ΅ΡΠ²Π΅ΡΠ°, Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ΅ΡΠ²ΠΈΡ ΠΈ ΡΠ°Π·Π΄Π΅Π», ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΊΠΎΡΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Ρ ΡΠ΅ΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠ»ΠΈ ΡΠ΅ΡΠ²Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΠΎΡ ΡΠ΅ΡΠ²ΠΈΡ ΠΈ ΡΠ°Π·Π΄Π΅Π», ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠ°Π½Π°Π». Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π²Π΅ΡΠ½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ TRUE. ΠΠ½Π°ΡΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²Π΅ΡΠ½ΡΡΡ FALSE.
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π°, Π²Π·ΡΡΡΠΉ ΠΈΠ· Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ DDEMLSR, ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ²ΠΈΡ (ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ΅ΡΠ²ΠΈΡ ΠΈ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·Π΄Π΅Π»):
ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΠΌΡ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌ Π½Π΅ ΡΡΡΠΎΠΊΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ ΠΈΠΌΡ ΡΠ΅ΡΠ²ΠΈΡΠ°, Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π΄Π»Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ ΡΡΡΠΎΠΊ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΠ΄ΡΡ ΡΠΎΠ·Π΄Π°Π½Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ.
Π ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ°Π½Π°Π»Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΡ DDEML ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ XTYP_CONNECT_CONFIRM. ΠΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΡΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΡΠ΅ΡΠ²Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π° (ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΡΠ΅ΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ hConv) Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° Π΄Π»Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ XTYP_CONNECT_CONFIRM:
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ | ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ |
hsz1 | ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΠΎΠΊΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ ΠΈΠΌΡ ΡΠ°Π·Π΄Π΅Π»Π° |
hsz2 | ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΠΎΠΊΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ ΠΈΠΌΡ ΡΠ΅ΡΠ²ΠΈΡΠ° |
dwData2 | ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π²Π½ΠΎ TRUE, Π΄Π°Π½Π½Π°Ρ ΠΊΠΎΠΏΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ, ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ. ΠΡΠ»ΠΈ ΠΆΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π²Π½ΠΎ FALSE, ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈ ΡΠ΅ΡΠ²Π΅Ρ ΡΠ²Π»ΡΡΡΡΡ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΈΠ»ΠΈ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΊΠΎΠΏΠΈΡΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ |
ΠΠΎΠ³Π΄Π° ΠΊΠ°Π½Π°Π» ΡΠ²ΡΠ·ΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ΅Π½, ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈΠ»ΠΈ ΡΠ΅ΡΠ²Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠ½ΠΈΡΡΠΎΠΆΠΈΡΡ Π΅Π³ΠΎ, Π²ΡΠ·Π²Π°Π² ΡΡΠ½ΠΊΡΠΈΡ DdeDisconnect:
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ½ΠΈΡΡΠΎΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π°.
Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΊΠ°Π½Π°Π»Π° «ΠΏΠ°ΡΡΠ½Π΅Ρ» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²ΡΡΡΡΠΏΠΈΠ²ΡΠ΅Π³ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°ΡΠΎΡΠΎΠΌ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΊΠ°Π½Π°Π»Π°, ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ XTYP_DISCONNECT. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ², Π·Π°ΠΊΠ°Π·Π°Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π΄Π°Π½Π½ΡΠΌ ΠΊΠ°Π½Π°Π»ΠΎΠΌ ΡΠ²ΡΠ·ΠΈ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ DDEMLSR ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ XTYP_DISCONNECT ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
3.3. ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΠ΅Π· ΠΊΠ°Π½Π°Π» DDEML
ΠΡΠ°ΠΊ, ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΊΠ°Π½Π°Π» ΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ. Π ΡΠ΅ΡΠ²Π΅Ρ, ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΠ»ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π° ΡΠ²ΡΠ·ΠΈ. Π’Π΅ΠΏΠ΅ΡΡ Π²ΡΠ΅ Π³ΠΎΡΠΎΠ²ΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ Π΄Π°Π½Π½ΡΡ .
ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΈ ΠΏΡΠΈΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² ΡΡΠ΅Ρ ΡΠ΅ΠΆΠΈΠΌΠ°Ρ : ΠΏΠΎ ΡΠ²Π½ΠΎΠΌΡ Π·Π°ΠΏΡΠΎΡΡ, ΡΠ΅ΡΠ΅Π· «ΡΠ΅ΠΏΠ»ΡΠΉ» ΠΊΠ°Π½Π°Π», ΠΈΠ»ΠΈ ΡΠ΅ΡΠ΅Π· «Π³ΠΎΡΡΡΠΈΠΉ» ΠΊΠ°Π½Π°Π».
Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΏΠΎΡΡΠ»Π°Π΅Ρ ΡΠ΅ΡΠ²Π΅ΡΡ Π·Π°ΠΏΡΠΎΡ, ΡΠΊΠ°Π·Π°Π² Π½ΡΠΆΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π°Π½Π½ΡΡ . Π‘Π΅ΡΠ²Π΅Ρ, ΠΏΠΎΠ»ΡΡΠΈΠ² ΡΠ°ΠΊΠΎΠΉ Π·Π°ΠΏΡΠΎΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡ Π½ΡΠΆΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. «Π’Π΅ΠΏΠ»ΡΠΉ» ΠΈ «Π³ΠΎΡΡΡΠΈΠΉ» ΠΊΠ°Π½Π°Π»Ρ ΡΠ²ΡΠ·ΠΈ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° ΠΊΠ»ΠΈΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ Π΄Π°Π½Π½ΡΡ , Ρ ΡΠ°Π½ΡΡΠΈΡ ΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°.
Π «ΡΠ΅ΠΏΠ»ΠΎΠΌ» ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΠ²Π΅Ρ ΠΏΠΎΡΡΠ»Π°Π΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΠΈΠ·Π²Π΅ΡΠ΅Π½ΠΈΠ΅. ΠΠΎΠ»ΡΡΠΈΠ² ΡΠ°ΠΊΠΎΠ΅ ΠΈΠ·Π²Π΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠ»ΠΈΠ΅Π½Ρ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° Π½ΠΎΠ²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅.
Π «Π³ΠΎΡΡΡΠ΅ΠΌ» ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΠ²Π΅Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΡΡΠ»Π°Π΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°.
ΠΡΠΎΡΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΏΠΎΡΡΠ»ΠΊΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ. ΠΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π±ΡΠ²Π°ΡΡ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠ΅ ΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠ΅.
ΠΠ»ΠΈΠ΅Π½Ρ, ΠΏΠΎΡΠ»Π°Π²ΡΠΈΠΉ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ, Π΄ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ Π΅Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΡΠ»ΠΈ ΠΏΠΎ ΠΈΡΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π½Π΅ Π·Π°Π²Π΅ΡΡΠΈΠ»Π°ΡΡ, ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΊΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ.
ΠΠΎΡΠ»Π΅ ΠΏΠΎΡΡΠ»ΠΊΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ Π½Π΅ ΠΆΠ΄Π΅Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. ΠΠΎΠ³Π΄Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π±ΡΠ΄Π΅Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½Π°, ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΏΠΎΠ»ΡΡΠΈΡ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΡ DDEML ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ XTYP_XACT_COMPLETE.
Π Π½Π°ΡΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠΌΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌΠΈ.
ΠΠ°ΠΏΡΠΎΡ Π΄Π°Π½Π½ΡΡ ΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ°
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΊΠ»ΠΈΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΡΠ»Π°ΡΡ ΡΠ΅ΡΠ²Π΅ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ XTYP_REQUEST. ΠΠ°Π΄Π°ΡΠ° ΠΏΠΎΡΡΠ»ΠΊΠΈ ΡΠ΅ΡΠ²Π΅ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΡΠ΅ΡΠ°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ DdeClientTransaction:
ΠΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°, Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΡΡ Π΄Π²ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ Π½ΡΠ»Π΅Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ (ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ Π½Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ, Π° Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΈΡ ).
Π§Π΅ΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ hConv ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π½Π΅Π΅ ΠΊΠ°Π½Π°Π»Π° ΡΠ²ΡΠ·ΠΈ.
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΊΠ°Π½Π°Π»Ρ ΡΠ²ΡΠ·ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄Π°Π½Π½ΡΡ , ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ Π½ΡΠΆΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π°Π½Π½ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° hszItem.
Π€ΠΎΡΠΌΠ°Ρ Π΄Π°Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ uFmt. ΠΠ΄Π΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΡΠΎΡΠΌΠ°ΡΠ° Clipboard, ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ CF_TEXT ΠΈΠ»ΠΈ CF_BITMAP, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅.
Π§Π΅ΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ uType ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΊΠΎΠ΄ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΏΠΎΡΡΠ»Π°Π΅ΠΌΠΎΠΉ ΡΠ΅ΡΠ²Π΅ΡΡ. ΠΠ»Ρ Π·Π°ΠΏΡΠΎΡΠ° Π΄Π°Π½Π½ΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΡΠ»Π°ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ XTYP_REQUEST.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ dwTimeout Π·Π°Π΄Π°Π΅Ρ Π΄Π»Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Π²ΡΠ΅ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ (Π² ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°Ρ ). ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ TIMEOUT_ASYNC, Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠ΅Π½Π° Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ pdwResult Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π΄Π²ΠΎΠΉΠ½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ. Π ΡΡΠΎ ΡΠ»ΠΎΠ²ΠΎ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΠΈΡΠ°Π½ ΠΊΠΎΠ΄ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. ΠΡΠ»ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΡΠ΅ΡΠ΅Π· ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π½ΡΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ DDEMLCL, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π·Π°ΠΏΡΠΎΡ Π΄Π°Π½Π½ΡΡ ΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ°:
Π ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ XTYP_REQUEST ΡΡΠ½ΠΊΡΠΈΡ DdeClientTransaction Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΎΠ±Π»Π°ΡΡΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ²ΠΎΠΉ Π±ΡΡΠ΅Ρ, Π²ΡΠ·Π²Π°Π² Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΡ DdeGetData:
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²Π½ΡΡΡΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π²Π½ΠΎ Π½ΡΠ»Ρ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ. ΠΠΎΠ»ΡΡΠΈΠ² ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ XTYP_REQUEST, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡ.
ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° (ΡΡΠΎΡΠΎΠ½Π° ΡΠ΅ΡΠ²Π΅ΡΠ°) Π΄Π»Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ XTYP_REQUEST:
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ | ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ |
hsz1 | ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΠΎΠΊΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ ΠΈΠΌΡ ΡΠ°Π·Π΄Π΅Π»Π° |
hsz2 | ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΠΎΠΊΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ ΠΈΠΌΡ ΡΠ΅ΡΠ²ΠΈΡΠ° |
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ XTYP_REQUEST ΠΏΠΎΠΊΠ°Π·Π°Π½ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅ ΠΊΠΎΠ΄Π°, Π²Π·ΡΡΠΎΠΌ ΠΈΠ· Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ DDEMLSR:
ΠΡΠΎΡ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ szDDEServerVersion.
ΠΠ΄Π½Π°ΠΊΠΎ Π²Π½Π°ΡΠ°Π»Π΅ ΡΠ΅ΡΠ²Π΅Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΊΠ°Π·Π°ΡΡ Π±Π»ΠΎΠΊ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, Π·Π°ΠΏΠΈΡΠ°Π² ΡΡΠ΄Π° ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. ΠΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ DdeCreateDataHandle:
ΠΡΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ DdeCreateDataHandle Π²Ρ Π·Π°ΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅ Π±Π»ΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°, ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠ°ΠΊ NULL. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΈΡΡΠ΅ΠΌΠ° DDEML ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ Π±Π»ΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π² Π½Π΅ΠΌ ΠΎΡΠΏΠ°Π΄Π΅Ρ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ.
ΠΡΠ°ΠΊ, ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ XTYP_REQUEST ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΠΎΠ·Π΄Π°Π»Π° Π±Π»ΠΎΠΊ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π·Π°ΠΏΠΈΡΠ°Π»Π° ΡΡΠ΄Π° ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. ΠΠ°ΡΠ΅ΠΌ ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ»ΠΈ NULL, Π΅ΡΠ»ΠΈ Π±Π»ΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΠ²Π΅ΡΡ
ΠΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΡΡ ΡΠ°Π³ΠΎΠ². ΠΠ½Π°ΡΠ°Π»Π΅ Π½Π°Π΄ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π±Π»ΠΎΠΊ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π² Π½Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΠΎΠΉ Π½Π°ΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ DdeCreateDataHandle:
ΠΠ°ΡΠ΅ΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠ΅ΡΠ²Π΅ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ XTYP_POKE, Π²ΡΠ·Π²Π°Π² Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΡ DdeClientTransaction:
ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π΄Π»Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ XTYP_POKE:
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ | ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ |
hsz1 | ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΠΎΠΊΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ ΠΈΠΌΡ ΡΠ°Π·Π΄Π΅Π»Π° |
hsz2 | ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΠΎΠΊΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ ΠΈΠΌΡ ΡΠ΅ΡΠ²ΠΈΡΠ° |
hData | ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π΄Π°Π½Π½ΡΡ , ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ ΡΠ΅ΡΠ²Π΅ΡΡ |
ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ XTYP_POKE Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ DDEMLSR Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΡΠΎΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π΄Π°Π½Π½ΡΡ , Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΠΎΠΉ Π½Π°ΠΌΠΈ ΡΠ°Π½Π΅Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ DdeGetData. ΠΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ MessageBox.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠ·Π½Π°ΠΊΠ° ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ DDE_FACK, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π² ΡΠ°ΠΉΠ»Π΅ ddeml.h.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
ΠΠΎΠΌΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΡΠ΅ΡΠ²Π΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² Π²ΠΈΠ΄Π΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅Ρ. ΠΠΎΠΎΠ±ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΡΡΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΡ Π½Π°ΠΌΠΈ ΡΠ°Π½Π΅Π΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ XTYP_POKE ΠΈ XTYP_REQUEST, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½Π°Ρ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ XTYP_EXECUTE. ΠΠΎΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°:
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ | ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ |
hsz1 | ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΠΎΠΊΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ ΠΈΠΌΡ ΡΠ°Π·Π΄Π΅Π»Π° |
hsz2 | ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΠΎΠΊΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ ΠΈΠΌΡ ΡΠ΅ΡΠ²ΠΈΡΠ° |
ΠΡΠΎΡΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΡΠ΅Π½Ρ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΠ²Π΅ΡΡ ΡΠ΅ΡΠ΅Π· ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ XTYP_POKE.
ΠΠ½Π°ΡΠ°Π»Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ DdeCreateDataHandle ΡΠΎΠ·Π΄Π°ΡΡ Π±Π»ΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΡΠ»ΠΈΡΠΈΠ΅ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ hszItem Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΊΠ°Π·Π°Π½ ΠΊΠ°ΠΊ NULL:
ΠΠ°ΡΠ΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ DdeClientTransaction ΡΠ΅ΡΠ²Π΅ΡΡ ΠΏΠΎΡΡΠ»Π°Π΅ΡΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ XTYP_EXECUTE:
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ XTYP_EXECUTE, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Π² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΡΠ΅ΡΠ²Π΅ΡΠ°, Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ DdeAccessData:
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π½Π°ΡΠ°Π»ΠΎ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΡΠ΅ΡΠ²Π΅ΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²Π΅ΡΠ½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ DDE_FACK. ΠΡΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ, Π½ΡΠΆΠ½ΠΎ Π²Π΅ΡΠ½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ DDE_FNOTPROCESSED. Π ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎΠ·ΠΆΠ΅ (ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π·Π°Π½ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ), ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π²Π΅ΡΠ½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ DDE_FBUSY.
ΠΠ»ΠΈΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π΄Π²ΠΎΠΉΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π» ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ lpdwResult ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ DdeClientTransaction. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π² ΡΡΠΎΠΌ ΡΠ»ΠΎΠ²Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π±ΠΈΡ DDE_FBUSY, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ ΠΏΠΎΡΡΠ»ΠΊΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎΠ·ΠΆΠ΅.
3.4. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ DDEMLSR
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ DDEMLSR (ΡΠΈΡ. 3.5) ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅Ρ ΡΠ΅ΡΠ²ΠΈΡ «BMPServer». ΠΠ»ΠΈΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΊΠ°Π½Π°Π» ΡΠ²ΡΠ·ΠΈ Ρ ΡΠ°Π·Π΄Π΅Π»ΠΎΠΌ «BMPFile» ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ Π΄Π°Π½Π½ΡΡ «DDEData».
Π ΠΈΡ. 3.5. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ DDEMLSR
Π€ΡΠ½ΠΊΡΠΈΠΈ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ, ΠΏΡΠ΅Π΄Π΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΡ.
ΠΠΎΠ³Π΄Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π·Π°ΠΏΡΠΎΡ Π½Π° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΄Π°Π½Π½ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡ, ΠΎΠ½ Π² ΠΎΡΠ²Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ DDEMLSR.
ΠΡΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΏΠΎΡΡΠ»Π°Π΅Ρ ΡΠ΅ΡΠ²Π΅ΡΡ Π΄Π°Π½Π½ΡΠ΅ (Π² Π²ΠΈΠ΄Π΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ), ΡΠ΅ΡΠ²Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ MessageBox (ΡΠΈΡ. 3.6).
Π ΠΈΡ. 3.6. Π‘Π΅ΡΠ²Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΏΠΎ ΠΊΠ°Π½Π°Π»Ρ DDE
Π€ΡΠ½ΠΊΡΠΈΡ WinMain ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π² ΡΠ°ΠΉΠ»Π΅ ddemlsr.cpp (Π»ΠΈΡΡΠΈΠ½Π³ 3.1).
ΠΠΈΡΡΠΈΠ½Π³ 3.1. Π€Π°ΠΉΠ» ddeml/ddemlsr.cpp
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠΊΡΡΡΡ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (Π° ΡΠΎΡΠ½Π΅Π΅, Π½Π΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ Π΅Π³ΠΎ Π²ΠΎΠ²ΡΠ΅), Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ±ΡΠ°ΡΡ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ ShowWindow ΠΏΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΡΠΈΠΊΠ»Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ. Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, Π΄Π»Ρ ΡΡΠΈΠ»Ρ ΠΎΠΊΠ½Π° Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ WS_VISIBLE.
ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ WM_CREATE ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΡΠ΅ΡΠ²Π΅Ρ, Π²ΡΠ·ΡΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ DDEServerOpen, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π² ΡΠ°ΠΉΠ»Π΅ ddemlfn.cpp (Π»ΠΈΡΡΠΈΠ½Π³ 3.2). Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΈΠΌΠ΅Π½Π° ΡΠ΅ΡΠ²ΠΈΡΠ°, ΡΠ°Π·Π΄Π΅Π»Π° Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π΄Π°Π½Π½ΡΡ .
ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΡ ΠΌΠ΅Π½Ρ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π²Π΅ΡΡΠΈΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΎΠ±ΡΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
ΠΡΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ WM_DESTROY Π·Π°ΠΊΡΡΠ²Π°Π΅Ρ ΠΊΠ°Π½Π°Π» DDEML ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ Π²ΡΠ΅ Π·Π°Π½ΡΡΡΠ΅ ΡΠ΅ΡΡΡΡΡ, Π²ΡΠ·ΡΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ DDEServerClose, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π² ΡΠ°ΠΉΠ»Π΅ ddemlfn.cpp.
ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΌΡ ΡΠΎΠ±ΡΠ°Π»ΠΈ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈΠΌΠ΅ΡΡΠΈΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊ DDEML, Π² ΡΠ°ΠΉΠ»Π΅ ddemlfn.cpp. Π’Π°ΠΌ ΠΆΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΠΈ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° Π΄Π»Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° DDEML.
ΠΠΈΡΡΠΈΠ½Π³ 3.2. Π€Π°ΠΉΠ» ddeml/ddemlfn.cpp
Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΡ XTYP_ERROR ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π² ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° Π² ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΠ»Π°Π΄ΡΠ΅Π΅ ΡΠ»ΠΎΠ²ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° dwData1 ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ.
Π€Π°ΠΉΠ» ddemlsr.hpp (Π»ΠΈΡΡΠΈΠ½Π³ 3.3) ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ DDEMLSR.
ΠΠΈΡΡΠΈΠ½Π³ 3.3. Π€Π°ΠΉΠ» ddeml/ddemlsr.hpp
Π ΡΠ°ΠΉΠ»Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² (Π»ΠΈΡΡΠΈΠ½Π³ 3.4) ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°.
ΠΠΈΡΡΠΈΠ½Π³ 3.4. Π€Π°ΠΉΠ» ddeml/ddemlsr.rc
Π€Π°ΠΉΠ» ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ DDEMLSR ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 3.5.
ΠΠΈΡΡΠΈΠ½Π³ 3.5. Π€Π°ΠΉΠ» ddeml/ddemlsr.def
3.5. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ DDEMLCL
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ DDEMLCL ΡΠΎΠ·Π΄Π°Π½ΠΎ Π½Π°ΠΌΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ DDEMLSR, ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΌ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ΅ΡΠ²Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° DDEMLCL, Π»ΠΈΠ±ΠΎ Π½Π΅ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎΠ³ΠΎ. Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π°ΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠ΅ΡΠ²Π΅Ρ Π½Π΅ Π·Π°ΠΏΡΡΠ΅Π½ (ΡΠΈΡ. 3.7).
Π ΠΈΡ. 3.7. ΠΠ°ΠΏΡΠΎΡ Π½Π° Π·Π°ΠΏΡΡΠΊ ΡΠ΅ΡΠ²Π΅ΡΠ° DDEML
ΠΠ°ΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ΅ΡΠ²Π΅Ρ, Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π½Π°ΠΆΠ°ΡΡ Π½Π° ΠΊΠ»Π°Π²ΠΈΡΡ «Yes». ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ DDEMLCL ΠΏΡΠ΅Π΄ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠΏΡΡΠΊΡ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ DDEMLSR ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΈΠ»ΠΈ ΠΈΠ· ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ², ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Ρ PATH ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ MS-DOS.
ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ Π½Π° ΡΠΈΡ. 3.8.
Π ΠΈΡ. 3.8. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ DDEMLCL
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅Π½Ρ «Action» Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠ»Π°ΡΡ ΡΠ΅ΡΠ²Π΅ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ «c:\\nicebmp\\sky.bmp» (ΡΡΡΠΎΠΊΠ° «Send Filename») ΠΈΠ»ΠΈ Π·Π°ΠΏΡΠΎΡΠΈΡΡ Π²Π΅ΡΡΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ° (ΡΡΡΠΎΠΊΠ° «Get Server Version»). Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΈΠ½ΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ° Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π° Π½Π° ΡΠΊΡΠ°Π½Π΅ (ΡΠΈΡ. 3.9).
Π ΠΈΡ. 3.9. ΠΠ»ΠΈΠ΅Π½Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ°
Π€ΡΠ½ΠΊΡΠΈΡ WinMain ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ DDEMLCL ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π² ΡΠ°ΠΉΠ»Π΅ ddemlcl.cpp (Π»ΠΈΡΡΠΈΠ½Π³ 3.6).
ΠΠΈΡΡΠΈΠ½Π³ 3.6. Π€Π°ΠΉΠ» ddeml/ddemlcl.cpp
ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ WM_CREATE ΠΏΡΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ DDEClientOpen, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π² ΡΠ°ΠΉΠ»Π΅ ddemlcf.cpp (Π»ΠΈΡΡΠΈΠ½Π³ 3.7). ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ DDEML ΠΈ ΠΏΡΡΠ°Π΅ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ°Π½Π°Π» ΡΠ²ΡΠ·ΠΈ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ.
ΠΡΠ»ΠΈ ΠΊΠ°Π½Π°Π» ΡΠ²ΡΠ·ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ DDEMLCL Π΄Π΅Π»Π°Π΅Ρ Π²ΡΠ²ΠΎΠ΄ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠ΅ΡΠ²Π΅Ρ Π½Π΅ Π·Π°ΠΏΡΡΠ΅Π½, ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π³ΠΎ. ΠΠ°ΠΏΡΡΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ WinExec. ΠΠΎΡΠ»Π΅ ΡΠ΄Π°ΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΅ΡΠ²Π΅ΡΠ° Π΄Π΅Π»Π°Π΅ΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄Π½Π° ΠΏΠΎΠΏΡΡΠΊΠ° ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ°Π½Π°Π» ΡΠ²ΡΠ·ΠΈ.
ΠΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΠΈΠ· ΠΌΠ΅Π½Ρ «Action» ΡΡΡΠΎΠΊΡ «Send Filename», ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ DDESend, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π² ΡΠ°ΠΉΠ»Π΅ ddemlcf.cpp. ΠΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π° ΡΠ²ΡΠ·ΠΈ ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²Π°Ρ ΡΡΡΠΎΠΊΠ° «c:\\nicebmp\\sky.bmp». Π€ΡΠ½ΠΊΡΠΈΡ DDESend ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΡΡΠΎΠΊΡ ΡΠ΅ΡΠ²Π΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡ Π΅Π΅ Π½Π° ΡΠΊΡΠ°Π½Π΅.
ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΠΈΠ· ΠΌΠ΅Π½Ρ «Action» ΡΡΡΠΎΠΊΡ «Get Server Version», Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ DDEReceive, ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ Π² ΡΠ°ΠΉΠ»Π΅ ddemlcf.cpp. ΠΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΠΊΠ°Π½Π°Π»Π° ΡΠ²ΡΠ·ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π°Π΄ΡΠ΅Ρ ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ Π±ΡΡΠ΅ΡΠ°, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΈΠ½ΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. ΠΠΎΡΠ»Π΅ ΠΏΡΠΈΠ΅ΠΌΠ° Π΄Π°Π½Π½ΡΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π² Π²ΠΈΠ΄Π΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ MessageBox.
ΠΠΎΠ³Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ DDEMLCL Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡ, Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ DDEClientClose, Π·Π°ΠΊΡΡΠ²Π°ΡΡΠ°Ρ ΠΊΠ°Π½Π°Π» ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°ΡΡΠ°Ρ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½ΠΈΠΌ ΡΠ΅ΡΡΡΡΡ.
Π ΡΠ°ΠΉΠ»Π΅ ddemlcf.cpp (Π»ΠΈΡΡΠΈΠ½Π³ 3.7) ΡΠΎΠ±ΡΠ°Π½Ρ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈΠΌΠ΅ΡΡΠΈΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊ DDEML.
ΠΠΈΡΡΠΈΠ½Π³ 3.7. Π€Π°ΠΉΠ» ddeml/ddemlcf.cpp
ΠΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π² ΡΠ°ΠΉΠ»Π΅ ddemlcf.hpp (Π»ΠΈΡΡΠΈΠ½Π³ 3.8).
ΠΠΈΡΡΠΈΠ½Π³ 3.8. Π€Π°ΠΉΠ» ddeml/ddemlcf.hpp
Π€Π°ΠΉΠ» ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 3.9.
ΠΠΈΡΡΠΈΠ½Π³ 3.9. Π€Π°ΠΉΠ» ddeml/ddemlcf.rc
Π€Π°ΠΉΠ» ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ DDEMLCL Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 3.10.
ΠΠΈΡΡΠΈΠ½Π³ 3.10. Π€Π°ΠΉΠ» ddeml/ddemlcf.def
3.6. ΠΡΠ»Π°Π΄ΠΊΠ° DDEML-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° DDEML ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ DDEML-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΡΠ²Π°ΡΡ Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° DDEML (ΠΊΠ°ΠΊ Π΄Π»Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°), ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΡΡΡΠΎΠΊ ΠΈ Π΄Π°Π½Π½ΡΡ , Π·Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠ΅ΠΉ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. ΠΠ·-Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΌΠ° ΠΊΠ½ΠΈΠ³ΠΈ ΠΌΡ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΠΌ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ Π²Π°ΠΌ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π²ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΅ΡΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²Ρ ΠΎΠ΄ΠΈΡ Π² ΡΠΎΡΡΠ°Π² Microsoft SDK for Windows 3.1.
Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΌΡ Π½Π°ΡΡΠΈΠΌ Π²Π°Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π³ΠΎΡΠΎΠ²ΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ DDESpy, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΡΠΎΡΡΠ°Π²Π΅ SDK ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΎ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ DDEML-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ DDESpy ΠΈ ΡΠ°ΡΠΊΡΠΎΠΉΡΠ΅ ΠΌΠ΅Π½Ρ «Output» (ΡΠΈΡ. 3.10).
Π ΠΈΡ. 3.10. ΠΠ΅Π½Ρ «Output» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ DDESpy
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈΡΡ ΠΏΠΎΡΠΎΠΊ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² ΡΠ°ΠΉΠ» (ΡΡΡΠΎΠΊΠ° «File. «), Π½Π° ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΠΉ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» (ΡΡΡΠΎΠΊΠ° «Debug Terminal» ΠΈΠ»ΠΈ Π² ΠΎΠΊΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ DDESpy (ΡΡΡΠΎΠΊΠ° «Screen»). ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΡΠΎΠΊΠΈ «Clear Screen» Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΈΡΡΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ DDESpy ΠΎΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ (Π΅ΡΠ»ΠΈ ΠΎΠ½Π° ΡΠ°ΠΌ Π΅ΡΡΡ).
Π ΠΌΠ΅Π½Ρ «Output» Π²Π°ΠΌ Π½Π°Π΄ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΡΡΡΠΎΠΊΡ «File. » ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΉΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Π·Π°Π΄Π°ΡΡ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΠΈΡΠ°Π½Π° ΠΎΡΠ»Π°Π΄ΠΎΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
ΠΠ°ΡΠ΅ΠΌ ΡΠ°ΡΠΊΡΠΎΠΉΡΠ΅ ΠΌΠ΅Π½Ρ «Monitor» (ΡΠΈΡ. 3.11).
Π ΠΈΡ. 3.11. ΠΠ΅Π½Ρ «Monitor» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ DDESpy
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΎΡΡΠ°Π² ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠΉ Π² ΠΎΠΊΠ½Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌΠΎΠΉ Π² ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π²Π°ΠΌΠΈ ΡΠ°ΠΉΠ»Π΅. ΠΡΠΌΠ΅ΡΡΡΠ΅ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ, ΠΊΠ°ΠΊ Π½Π° ΡΠΈΡ. 3.11. Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ»Π½ΡΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
ΠΠ°ΡΠ΅ΠΌ ΡΠ°ΡΠΊΡΠΎΠΉΡΠ΅ ΠΌΠ΅Π½Ρ «Track» (ΡΠΈΡ. 3.12).
Π ΠΈΡ. 3.12. ΠΠ΅Π½Ρ «Track» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ DDESpy
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π΄Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ΅ DDEML, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΎΠΊΠ½Π°Ρ .
ΠΡΠΌΠ΅ΡΡΡΠ΅ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π² ΠΌΠ΅Π½Ρ «Track». ΠΡΠΈ ΡΡΠΎΠΌ Π² Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΡΠΊΡΠ°Π½Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠ° ΠΏΠΎΡΠ²ΠΈΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½ΠΎΠ²ΡΡ ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΠΎΠΊΠ½Π°ΠΌ.
Π’Π΅ΠΏΠ΅ΡΡ Π²ΡΠ΅ Π³ΠΎΡΠΎΠ²ΠΎ ΠΊ ΠΎΡΠ»Π°Π΄ΠΊΠ΅.
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ DDEMLSR, ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ Π½Π°ΠΌΠΈ ΡΠ°Π½ΡΡΠ΅. Π Π³Π»Π°Π²Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ DDESpy ΠΏΠΎΡΠ²ΡΡΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ. ΠΡΠΈ ΡΡΡΠΎΠΊΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² ΡΠ°ΠΉΠ», ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π½Π°ΠΌΠΈ ΡΠ°Π½Π΅Π΅. ΠΡ ΠΊ Π½ΠΈΠΌ Π΅ΡΠ΅ Π²Π΅ΡΠ½Π΅ΠΌΡΡ, Π° ΠΏΠΎΠΊΠ° Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΠΊΡΠΎΠ΅ΠΌ ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΡ «Registered Service». ΠΠΎΡΠ²ΠΈΡΡΡ ΠΎΠΊΠ½ΠΎ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΈΠΌΡ ΡΠ΅ΡΠ²ΠΈΡΠ° «BMPServer», Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠΎΠΏΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (ΡΠΈΡ. 3.13).
Π ΠΈΡ. 3.13. Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² DDEML
Π Π°ΡΠΊΡΠΎΠΉΡΠ΅ ΠΎΠΊΠ½ΠΎ «Active Conversation», Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± Π°ΠΊΡΠΈΠ²Π½ΡΡ ΠΊΠ°Π½Π°Π»Π°Ρ ΡΠ²ΡΠ·ΠΈ.
Π ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΊΠ°Π½Π°Π» ΡΠ²ΡΠ·ΠΈ Π΅ΡΠ΅ Π½Π΅ ΡΠΎΠ·Π΄Π°Π½, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠΊΠ½ΠΎ ΠΏΡΡΡΠΎΠ΅. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ DDEMLCL, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠ΅ Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ DDEMLSR. ΠΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ°Π½Π°Π» ΡΠ²ΡΠ·ΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ΅ΡΠ²ΠΈΡ «BMPServer» ΠΈ ΡΠ°Π·Π΄Π΅Π» «BMPFile». Π’Π΅ΠΏΠ΅ΡΡ Π² ΠΎΠΊΠ½Π΅ «Active Conversation» Π΅ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ΅, ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°Ρ ΠΊΠΎΠΏΠΈΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΡΠΎΠ·Π΄Π°Π²ΡΠ΅Π³ΠΎ ΠΊΠ°Π½Π°Π» ΡΠ²ΡΠ·ΠΈ (ΡΠΈΡ. 3.14).
Π ΠΈΡ. 3.14. Π‘ΠΏΠΈΡΠΎΠΊ Π°ΠΊΡΠΈΠ²Π½ΡΡ ΠΊΠ°Π½Π°Π»ΠΎΠ²
ΠΡΠ°ΠΊ, ΠΊΠ°Π½Π°Π» ΡΠ²ΡΠ·ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½. Π Π°ΡΠΊΡΠΎΠΉΡΠ΅ ΠΎΠΊΠ½ΠΎ «String Handles», ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΠ΅Π΅ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΡΡΡΠΎΠΊ (ΡΠΈΡ. 3.15).
Π ΠΈΡ. 3.15. Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΡΡΡΠΎΠΊ
Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ Π°ΠΊΡΠΈΠ²Π½ΡΠΌ ΠΎΠΊΠ½ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° DDEMLCL ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΡ Π΄Π°Π½Π½ΡΡ , Π²ΡΠ±ΡΠ°Π² ΠΈΠ· ΠΌΠ΅Π½Ρ «Action» ΡΡΡΠΎΠΊΠΈ «Send Filename» ΠΈ Π·Π°ΡΠ΅ΠΌ «Get Server Version». ΠΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄Π°Π½Π½ΡΡ ΠΏΠΎ ΠΊΠ°Π½Π°Π»Ρ ΡΠ²ΡΠ·ΠΈ, ΠΏΡΠΈΡΠ΅ΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΠΈΡΠ°Π½Π° Π² ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΠΉ ΡΠ°ΠΉΠ».
ΠΠ°ΠΊΡΠΎΠΉΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ DDEMLCL ΠΈ ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ Π°ΠΊΡΠΈΠ²Π½ΡΠΌ ΠΎΠΊΠ½ΠΎ «String Handles». Π’Π΅ΠΏΠ΅ΡΡ ΡΡΠ΅ΡΡΠΈΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΡΠ΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΡΡΡΠΎΠΊ Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π΅Π½ 1, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΠ» ΡΡΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ΅ΡΠ²Π΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π½Π΅ ΡΠ½ΠΈΡΡΠΎΠΆΠ°ΡΡΡΡ.
ΠΠΊΠ½ΠΎ «Active Conversation» ΠΎΡΠΈΡΡΠΈΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ΅ΠΏΠ΅ΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Π½Π΅Ρ Π°ΠΊΡΠΈΠ²Π½ΡΡ ΠΊΠ°Π½Π°Π»ΠΎΠ² ΡΠ²ΡΠ·ΠΈ (Π΅ΡΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΡ Π½Π΅ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ).
Π’Π΅ΠΏΠ΅ΡΡ Π·Π°Π²Π΅ΡΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ DDEMLSR. ΠΠΊΠ½Π° «String Handles» ΠΈ «Registered Service» ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΎΠΆΠ΅ ΠΎΡΠΈΡΡΡΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΡΠ½ΠΈΡΡΠΎΠΆΠ΅Π½Ρ, Π° ΡΠ΅ΡΠ²ΠΈΡ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½.
ΠΠ°Π²Π΅ΡΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ DDESpy ΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ Π² Π»ΡΠ±ΠΎΠΉ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΡΠ°ΠΉΠ», ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΎΡΠ»Π°Π΄ΠΊΠΈ. ΠΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π²ΡΡΠ΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΉ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ DDEMLSR ΠΈ DDEMLCL.
ΠΠ΅ΡΠ²ΡΠ΅ ΡΡΠΈ ΡΡΡΠΎΠΊΠΈ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΅ΡΠ²Π΅ΡΠ° DDEMLSR. ΠΠ½ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π±ΡΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π½Ρ ΡΡΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΡΡΡΠΎΠΊ Π΄Π»Ρ ΠΊΠΎΠΏΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ 0x458f. Π£ΠΊΠ°Π·Π°Π½ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΎΠ±ΡΡΠΈΡ (ΠΎΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π·Π°ΠΏΡΡΠΊΠ° Windows), ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΡΡΡΠΎΠΊ (c0d0, c0d5, c2d8) ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΡΡΠΎΠΊ.
ΠΠ°Π»Π΅Π΅ ΠΈΠ΄ΡΡ ΡΡΡΠΎΠΊΠΈ, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠ΅ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΡΠ΅ΡΠ²Π΅ΡΠ°:
ΠΠ΄Π΅ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° Π±ΡΠ»Π° Π²ΡΠ·Π²Π°Π½Π° Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ° «BMPServer». ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π²ΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ·ΠΎΠ²Π°.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ° ΠΎΡΡΠ°ΠΆΠ΅Π½ ΡΠ°ΠΊΡ ΠΏΠΎΡΡΠ»ΠΊΠΈ Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΠ²Π΅ΡΡ:
Π‘Π»Π΅Π΄ΠΎΠΌ ΠΈΠ΄Π΅Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°:
Π Π²ΠΎΡ Π·Π°ΠΏΡΠΎΡ Π΄Π°Π½Π½ΡΡ ΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ°:
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅ Π»ΠΈΡΡΠΈΠ½Π³Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π·Π°ΠΏΡΠΎΡ Π½Π° ΡΠ½ΠΈΡΡΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°Π½Π°Π»Π° ΡΠ²ΡΠ·ΠΈ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°:
ΠΠ΅ΡΠ΅Π΄ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΡΠ²Π΅Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΎΠ±ΡΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΠ΅ DDEML, ΡΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΠΌΡΠΉ ΠΈΠΌ ΡΠ΅ΡΠ²ΠΈΡ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ Π»ΠΈΡΡΠΈΠ½Π³Π° ΠΎΡΡΠ°ΠΆΠ°Π΅Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ «ΠΈΠ·ΡΡΡΠΈΡ» ΡΠ΅ΡΠ²ΠΈΡΠ° :
ΠΠ½Π°Π»ΠΈΠ·ΠΈΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΠΎΡΠ»Π°Π΄ΠΊΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° ΡΠ΅ΠΌ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡΠ΅ ΠΈΠΌ ΡΠ΅ΡΡΡΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΡΡΡΠΎΠΊ ΠΈ ΡΠ΅ΡΠ²ΠΈΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΈΠ»ΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ, ΠΏΡΠΎΡΠ»Π΅Π΄ΠΈΡΡ ΡΠΎΡΠΌΠ°Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅.