Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Операционные среды АСОИУ / L21
.TXT я26.5. ЋЎ¬Ґ ¤ л¬Ё зҐаҐ§ Clipboard
Clipboard - нв® б।бвў® ®Ў¬Ґ ¤ л¬Ё, ЇаҐ¤бв ў«по饥
б®Ў®© б®ў®ЄгЇ®бвм а §¤Ґ«пҐ¬®© ®Ў« бвЁ Ї ¬пвЁ Ё Ў®а дгЄжЁ©,
®Ўб«г¦Ёў ойЁе нвг ®Ў« бвм.
’а ¤ЁжЁ®л¬ бЇ®б®Ў®¬ ЁбЇ®«м§®ў Ёп Clipboard пў«пҐвбп ®Ў¬Ґ
¤ л¬Ё ЇаЁ гз бвЁЁ Ї®«м§®ў ⥫п.
Ћ¤ Є® Ё ¤агЈЁҐ, Ў®«ҐҐ а §ўЁвлҐ б।бвў ®Ў¬Ґ ¤ л¬Ё,
в ЄЁҐ Є Є DDE Ё OLE, ЁбЇ®«м§гов Є®жҐЇжЁЁ Clipboard ў бў®Ґ©
®б®ўҐ.
‚ ¦Ґ©иҐ© Є®жҐЇжЁҐ© Clipboard пў«пҐвбп Є®жҐЇжЁп д®а¬ в
¤ ле.
Ёа®Є®Ґ а бЇа®бва ҐЁҐ Clipboard Ё Ї®«гзЁ« Ё§-§
д ЄвЁзҐбЄ®© бв ¤ авЁ§ жЁЁ ап¤ д®а¬ в®ў ¤ ле, ЁбЇ®«м§гҐ¬ле ЇаЁ
®Ў¬ҐҐ ¬Ґ¦¤г ЇаЁ«®¦ҐЁп¬Ё.
ќв бв ¤ авЁ§ жЁп Ї®§ў®«Ё« бпвм б Ї®«м§®ў вҐ«п Їа®Ў«Ґ¬л
ЇаҐ®Ўа §®ў Ёп ¤ ле ЇаЁ ЇҐаҐ¤ зҐ Ёе Ё§ ®¤®Ј® ЇаЁ«®¦ҐЁп ў
¤агЈ®Ґ, зв® Ё бЇ®б®Ўбвў®ў «® иЁа®Є®¬г а бЇа®бва ҐЁо Clipboard.
‘। б ¬ ЎҐаҐв бҐЎп Їа®Ў«Ґ¬л ЇаҐ®Ўа §®ў Ёп ¤ ле ®б®ўҐ
ап¤ бв ¤ авле д®а¬ в®ў.
‘в ¤ авЁ§ жЁп д®а¬ в®ў, ®¤ Є®, Ґ ®Ја ЁзЁў Ґв ў®§¬®¦®бвЁ
Ёе а биЁаҐЁп.
ЏаЁ«®¦ҐЁҐ ¬®¦Ґв ᮧ¤ вм ®ўл© д®а¬ в, ®в«Ёзл© ®в
бв ¤ авле. …Ј® в®«мЄ® Ґ®Ўе®¤Ё¬® § ॣЁбваЁа®ў вм ў б।Ґ б
Ї®¬®ймо дгЄжЁЁ
я3RegisterClipboardFormat,
ЇҐаҐ¤ ў нв®© дгЄжЁЁ Ё¬п д®а¬ в .
”гЄжЁп ў®§ўа й Ґв гЁЄ «мл© Ё¤ҐвЁдЁЄ в®а д®а¬ в . …б«Ё
¤агЈЁҐ ЇаЁ«®¦ҐЁп ўл§®ўгв нвг дгЄжЁо, ЇҐаҐ¤ ў Ґ© нв® ¦Ґ Ё¬п
д®а¬ в , в® дгЄжЁп ў®§ўа вЁв Ё¬ 㦥 ᮧ¤ л© Ё¤ҐвЁдЁЄ в®а
д®а¬ в . ’ ЄЁ¬ ®Ўа §®¬, ўбҐ ЇаЁ«®¦ҐЁп Ўг¤гв Ї®«м§®ў вмбп ®¤Ё¬
Ё ⥬ ¦Ґ Ё¤ҐвЁдЁЄ в®а®¬ ¤«п ®Ў¬Ґ ¤ л¬Ё, ЇаҐ¤бв ў«Ґл¬Ё ў
н⮬ д®а¬ вҐ.
‘в ¤ авлҐ д®а¬ вл ¤ ле ®Ў®§ з овбп Є®бв в ¬Ё,
Ё¬ҐойЁ¬Ё бЁ¬ў®«ЁзҐбЄЁҐ Ё¬Ґ . ЏаЁўҐ¤Ґ¬ ў Є зҐб⢥ ЇаЁ¬Ґа Ї аг
в ЄЁе д®а¬ в®ў:
cf_Text - ASCIIZ бва®Є ;
cf_BitMap - ®¤Ё Ё§ д®а¬ в®ў Ја дЁзҐбЄ®Ј® Ё§®Ўа ¦ҐЁп.
‘гйҐбвўгҐв ҐйҐ ҐбЄ®«мЄ® (®Є®«® 6) бв ¤ авле д®а¬ в®ў
¤ ле, Ї®¤¤Ґа¦Ёў Ґ¬ле Clipboard.
ЌЁ¦Ґ ¬л а бᬮваЁ¬ Ї®а冷Є ®Ў¬Ґ ¤ л¬Ё зҐаҐ§ Clipboard б
в®зЄЁ §аҐЁп Їа®Ја ¬¬Ёбв , Ґ Ї®«м§®ў ⥫п.
я_ЏҐаҐ¤ з ¤ ле ў Clipboard
ЏҐаҐ¤ з ¤ ле ў Clipboard ўЄ«оз Ґв ў ᥡп ап¤ нв Ї®ў.
1. Џ®¤Ј®в®ўЄ ¤ ле ¤«п ЇҐаҐ¤ зЁ ў Clipboard;
2. ЋвЄалвЁҐ Clipboard;
3. ЋзЁбвЄ Clipboard;
4. Џ®бл«Є ¤ ле ў Clipboard;
5. ‡ ЄалвЁҐ Clipboard.
я11. Џ®¤Ј®в®ўЄ ¤ ле ¤«п ЇҐаҐ¤ зЁ ў Clipboard;
Џ®бл«Єг ¤ ле а бᬮваЁ¬ ЇаЁ¬ҐаҐ ЇҐаҐ¤ зЁ ў Clipboard
ASCIIZ - бва®ЄЁ.
1) ‚뤥«пҐ¬ Ў«®Є ¤Ё ¬ЁзҐбЄ®© Ї ¬пвЁ:
GHandle := GlobalAlloc(gmem_Movable, StrLen(P) + 1);
Ј¤Ґ GHandle : THandle - ббл«Є Ў«®Є ¤Ё ¬ЁзҐбЄ®© Ї ¬пвЁ;
P : PChar - гЄ § вҐ«м ЇҐаҐ¤ ў Ґ¬го бва®Єг.
2) ”ЁЄбЁа㥬 Ў«®Є ®в ЇҐаҐ¬ҐйҐЁ© ўаҐ¬п ЇҐаҐ¤ зЁ ў ҐЈ®
¤ ле Ё ®¤®ўаҐ¬Ґ® Ї®«гз Ґ¬ гЄ § вҐ«м Ў«®Є:
GPtr := GlobalLock(GHandle);
Ј¤Ґ GPtr : PChar - гЄ § вҐ«м Ў«®Є.
3) Љ®ЇЁа㥬 бва®Єг ў Ї ¬пвм:
StrCopy(GPtr, P).
4) ђ §аҐи Ґ¬ ЇҐаҐ¬ҐйҐЁҐ Ў«®Є Ї ¬пвЁ:
GlobalUnlock(GHandle).
я12.я0 я1ЋвЄалвЁҐ Clipboard
ЋвЄалвЁҐ Clipboard ўлЇ®«пҐвбп ўл§®ў®¬ дгЄжЁЁ
OpenClipboard,
Є®в®а п ў®§ўа й Ґв True, Ґб«Ё Clipboard Ґ ЁбЇ®«м§гҐвбп ¤агЈЁ¬
ЇаЁ«®¦ҐЁҐ¬. ‚ н⮬ б«гз Ґ ў®§¬®¦л Ї®б«Ґ¤гойЁҐ ¤Ґ©бвўЁп б
Clipboard.
я13.я0 я1ЋзЁбвЄ Clipboard
ЋзЁбвЄ Clipboard ўлЇ®«пҐвбп ўл§®ў®¬ дгЄжЁЁ
EmptyClipboard,
ЇҐаҐ¤ § бл«Є®© вг¤ ®ўле ¤ ле.
я14. Џ®бл«Є ¤ ле ў Clipboard
Џ®бл«Є ¤ ле ў Clipboard § Є«оз Ґвбп ў ЇҐаҐ¤ зҐ Clipboard
ббл«ЄЁ Ў«®Є ¤ ле б гЄ § ЁҐ¬ д®а¬ в нвЁе ¤ ле. ќвЁ
¤Ґ©бвўЁп ®бгйҐбвў«повбп б Ї®¬®ймо дгЄжЁЁ:
SetClipboardData(cf_Text, GHandle).
Џ®б«Ґ ўл§®ў нв®© дгЄжЁЁ Clipboard зЁ Ґв ў« ¤Ґвм
¤ л¬Ё.
я15. ‡ ЄалвЁҐ Clipboard
‡ ЄалвЁҐ Clipboard ўлЇ®«пҐвбп ўл§®ў®¬ дгЄжЁЁ
CloseClipboard,
Ї®б«Ґ Є®в®а®Ј® Clipboard бв ®ўЁвбп ¤®бвгЇл¬ ¤агЈЁ¬ ЇаЁ«®¦ҐЁп¬.
я_ЏаЁҐ¬ ¤ ле Ё§ Clipboard
ЏаЁҐ¬ ¤ ле Ё§ Clipboard ўЄ«оз Ґв ў ᥡп б«Ґ¤гойЁҐ нв Їл:
1. ЋвЄалвЁҐ Clipboard;
2. Џа®ўҐаЄ «ЁзЁп вॡ㥬®Ј® д®а¬ в ¤ ле ў Clipboard;
3. —⥨Ґ ¤ ле Ё§ Clipboard;
4. ‡ ЄалвЁҐ Clipboard.
я11. ЋвЄалвЁҐ Clipboard
ЋвЄалвЁҐ Clipboard ўлЇ®«пҐвбп «®ЈЁз® ЇаҐ¤л¤г饬г
б«гз о ўл§®ў®¬ дгЄжЁЁ:
OpenClipboard.
я12. Џа®ўҐаЄ «ЁзЁп вॡ㥬®Ј® д®а¬ в ¤ ле ў Clipboard
Џа®ўҐаЄ «ЁзЁп вॡ㥬®Ј® д®а¬ в ¤ ле ўлЇ®«пҐвбп
ўл§®ў®¬ дгЄжЁЁ:
IsClipboardFormatAvailable(cf_Text),
Є®в®а п ў®§ўа й Ґв True, Ґб«Ё ¤ лҐ § Їа иЁў Ґ¬®Ј® д®а¬ в
ЇаЁбгвбвўгов.
я13. —⥨Ґ ¤ ле Ё§ Clipboard
—⥨Ґ ¤ ле, ў б«гз Ґ гбЇҐи®Ј® ўлЇ®«ҐЁп ўбҐе ЇаҐ¤л¤гйЁе
®ЇҐа жЁ©, ўлЇ®«пҐвбп § ҐбЄ®«мЄ® и Ј®ў:
1) Џ®«г票Ґ ббл«ЄЁ Ў«®Є Ї ¬пвЁ, ᮤҐа¦ йЁ© ¤ лҐ
вॡ㥬®Ј® д®а¬ в :
GHandle := GetClipboardData(cf_Text);
2) Џ®«г票Ґ ¤аҐб ¤ ®Ј® Ў«®Є Ї ¬пвЁ Ё дЁЄбЁа®ў ЁҐ ҐЈ®
®в ў®§¬®¦ле ЇҐаҐ¬ҐйҐЁ© ўаҐ¬п бзЁвлў Ёп ¤ ле:
GPtr := GlobalLock(GHandle);
3) ‚뤥«ҐЁҐ «®Є «м®© Ї ¬пвЁ ¤«п звҐЁп ў ҐҐ ЁвҐаҐбгойЁе
¤ ле:
GetMem(P, StrLen(GPtr) + 1);
4) Љ®ЇЁа®ў ЁҐ ¤ ле Ё§ Ј«®Ў «м®© Ї ¬пвЁ ў «®Є «мго:
StrCopy(P, GPtr);
5) ђ §аҐиҐЁҐ ЇҐаҐ¬ҐйҐЁп Ј«®Ў «м®Ј® Ў«®Є Ї ¬пвЁ:
GlobalUnlock(GHandle).
я14. ‡ ЄалвЁҐ Clipboard
‡ ЄалвЁҐ Clipboard ў б«гз Ґ ЇаЁҐ¬ ¤ ле ўлЇ®«пҐвбп
«®ЈЁз® § ЄалвЁо ў б«гз Ґ ЇҐаҐ¤ зЁ ¤ ле: CloseClipboard.
Љ Є ўЁ¤® Ё§ ЇаЁўҐ¤Ґ®Ј® ®ЇЁб Ёп, ¤«п Їа®Ја ¬¬®©
ॠ«Ё§ жЁЁ ®Ў¬Ґ ¤ л¬Ё зҐаҐ§ Clipboard вॡгҐвбп ўлЇ®«ҐЁп
¤®бв в®з®Ј® Ў®«ми®Ј® Є®«ЁзҐбвў ¤Ґ©бвўЁ©. ЏаЁ н⮬, ॠ«Ё§ жЁп
®Ў¬Ґ ¤«п ¤агЈЁе, Ў®«ҐҐ б«®¦ле д®а¬ в®ў, в ЄЁе, ЇаЁ¬Ґа, Є Є
"Ја дЁзҐбЄ®Ґ Ё§®Ўа ¦ҐЁҐ", бв ®ўЁвбп ҐйҐ Ў®«ҐҐ б«®¦®©.
‘®ўаҐ¬ҐлҐ баҐ¤л Їа®ҐЄвЁа®ў Ёп Ї®§ў®«пов бгйҐб⢥®
®Ў«ҐЈзЁвм а Ў®вг Їа®Ја ¬¬Ёбв Ї® ॠ«Ё§ жЁЁ ®Ў¬Ґ ¤ л¬Ё.
Џ®б¬®ваЁ¬, Є Є ¬®¦® ॠ«Ё§®ў вм ®Ў¬Ґ ¤ л¬Ё зҐаҐ§
Clipboard ў б।Ґ Їа®ҐЄвЁа®ў Ёп Delphi.
‘। Їа®ҐЄвЁа®ў Ёп Delphi ЇаҐ¤®бв ў«пҐв ®ЎкҐЄв TClipboard,
Є®в®ал© ўЄ«оз Ґв ў бҐЎп ўбҐ Ґ®Ўе®¤Ё¬лҐ ¤Ґ©бвўЁп ¤«п гЇа ў«ҐЁп
Clipboard.
‚Є«о票Ґ ¬®¤г«п Clipbrd ў б®бв ў Їа®ҐЄв , ўв®¬ вЁзҐбЄЁ
ᮧ¤ Ґв, ®вЄалў Ґв Ё ¤Ґ« Ґв ¤®бвгЇл¬ нЄ§Ґ¬Ї«па Clipboard. ЏаЁ
н⮬, Є®¬Ї®Ґвл TEdit Ё TMemo, ®ЎҐбЇҐзЁў ойЁҐ а Ў®вг б
⥪бв®ўл¬Ё бва®Є ¬Ё, в Є¦Ґ Є®¬Ї®Ґв TImage, ®ЎҐбЇҐзЁў ойЁ©
а Ў®вг б Ја дЁзҐбЄЁ¬Ё ®Ўа § ¬Ё, Ї®«гз ов ў®§¬®¦®бвм
ЁбЇ®«м§®ў Ёп бў®Ёе ¬Ґв®¤®ў а Ў®вл б Clipboard.
’ Є, ЇаЁ¬Ґа, бЄ®ЇЁа®ў вм Ёд®а¬ жЁо ў Clipboard, Ё§
Є®¬Ї®Ґв Memo вЁЇ TMemo, ¬®¦® б«Ґ¤гойЁ¬ ®Ўа §®¬:
Memo.SelectAll; {ўл¤Ґ«Ёвм ўҐбм ⥪бв}
Memo.CopyToClipboard; {бЄ®ЇЁа®ў вм ўл¤Ґ«Ґл© ⥪бв}
ў®§¬®¦Ґ ¤агЈ®© ¬Ґв®¤: Clipboard.AsText := Memo.Text;
‚л१ вм ⥪бв ¬®¦® б«Ґ¤гойЁ¬ ®Ўа §®¬:
Memo.SelectAll; {ўл¤Ґ«Ёвм ўҐбм ⥪бв}
Memo.CutToClipboard; {ўл१ вм ўл¤Ґ«Ґл© ⥪бв}
‘Є®ЇЁа®ў вм ⥪бв Ё§ Clipboard ¬®¦® б«Ґ¤гойЁ¬ ®Ўа §®¬:
Memo.PasteFromClipboard; Ё«Ё: Memo.Text := Clipboard.AsText;
ЏҐаҐ¤ бзЁвлў ЁҐ¬ ¤ ле Ё§ Clipboard 楫Ґб®®Ўа §®
Їа®ўҐаЁвм, Ґбвм «Ё ў Clipboard ¤ лҐ вॡ㥬®Ј® вЁЇ . ќв® ¬®¦®
ᤥ« вм б Ї®¬®ймо ўл§®ў ¬Ґв®¤ ®ЎкҐЄв Clipboard:
Clipboard.HasFormat(cf_Text),
Є®в®ал© ўҐаҐв True, Ґб«Ё ¤ лҐ ў д®а¬ ⥠cf_Text Ґбвм ў
Clipboard.
„«п ®Ў¬Ґ Ја дЁзҐбЄ®© Ёд®а¬ жЁҐ© б«Ґ¤гҐв ЁбЇ®«м§®ў вм
бЇҐжЁ «м® ЇаҐ¤ § зҐл© ¤«п нв®Ј® ¬Ґв®¤ Assign, ЇаЁ¬Ґал
ЁбЇ®«м§®ў Ёп Є®в®а®Ј® ЇаЁўҐ¤Ґл Ё¦Ґ.
Љ®ЇЁа®ў ЁҐ Ја дЁзҐбЄЁе ¤ ле (ў д®а¬ ⥠cf_BitMap)
бў®©бвў Picture Є®¬Ї®Ґв Image вЁЇ TImage ў Clipboard:
‘lipboard.Assign(Image.Picture).
Љ®ЇЁа®ў ЁҐ Ја дЁзҐбЄЁе ¤ ле Ё§ Clipboard ў Є®¬Ї®Ґв
Image:
If Clipboard.HasFormat(cf_BitMap) Then
Image.Picture.Assign(Clipboard);
Љ Є ўЁ¤® Ё§ ЇаЁўҐ¤Ґле ЇаЁ¬Ґа®ў, ᮢ६Ґ п б।
Їа®ҐЄвЁа®ў Ёп Їа®Ја ¬¬ ЎҐаҐв бҐЎп Ў®«м讥 Є®«ЁзҐбвў® Їа®Ў«Ґ¬,
Ё¬ҐойЁе ¬Ґбв® ЇаЁ ®аЈ Ё§ жЁЁ ®Ў¬Ґ ¤ л¬Ё а §«Ёзле д®а¬ в®ў
зҐаҐ§ Clipboard.
я26.6. ЋЎ¬Ґ ¤ л¬Ё Ї® вҐе®«®ЈЁЁ DDE
ЋЎ¬Ґ ¤ л¬Ё зҐаҐ§ Clipboard ўлЇ®«пҐвбп, Є Є Їа ўЁ«®, ЇаЁ
ҐЇ®б।б⢥®¬ гз бвЁЁ Ї®«м§®ў ⥫п.
‚ ⮬ б«гз Ґ, Є®Ј¤ вॡгҐвбп ҐЇ®б।бвўҐл© ®Ў¬Ґ ¤ л¬Ё
¬Ґ¦¤г ЇаЁ«®¦ҐЁп¬Ё, ¬®¦Ґв Ўлвм ЁбЇ®«м§®ў Їа®в®Є®« ®Ў¬Ґ DDE.
DDE - нв® ўЁ¤ (Ё«Ё Їа®в®Є®«) ў§ Ё¬®¤Ґ©бвўЁп ¬Ґ¦¤г
ЇаЁ«®¦ҐЁп¬Ё, Є®в®ал© ЁбЇ®«м§гҐв а §¤Ґ«пҐ¬го Ї ¬пвм ¤«п ®Ў¬Ґ
¤ л¬Ё ¬Ґ¦¤г Ё¬Ё.
’Ґе®«®ЈЁп DDE Ґ Ї®«гз Ґв иЁа®Є®Ј® а бЇа®бва ҐЁп Ё§-§
б«®¦®б⨠ॠ«Ё§ жЁЁ, ® § Ё¬ Ґв Їа®¬Ґ¦гв®з®Ґ ¬Ґбв® ¬Ґ¦¤г
вҐе®«®ЈЁҐ© Clipboard Ё вҐе®«®ЈЁҐ© OLE, Є®в®а п ⮦Ґ з१ўлз ©®
б«®¦ , ® а §ўЁў Ґвбп Ї®¤ ¬®йл¬ Ї®а®¬ дЁа¬л-Їа®Ё§ў®¤ЁвҐ«п
б ¬ле а бЇа®бва Ґле Ћ‘.
’Ґе®«®ЈЁп DDE Ї®«®бвмо ўЇЁблў Ґвбп ў вҐе®«®ЈЁо
Љ«ЁҐв-‘ҐаўҐа, н«Ґ¬Ґвл Є®в®а®© Ўл«Ё а бᬮваҐл а ҐҐ. ’.Ґ.
®Ў¬Ґ ¤ л¬Ё Ї® Їа®в®Є®«г DDE Їа®Ёб室Ёв ¬Ґ¦¤г ¤ўг¬п
ЇаЁ«®¦ҐЁп¬Ё, ®¤® Ё§ Є®в®але пў«пҐвбп Є«ЁҐв®¬, ¤агЈ®Ґ
бҐаўҐа®¬. ‘ҐаўҐа § Јаг¦ Ґвбп Ё ¦¤Ґв § Їа®б®ў ®Ўб«г¦Ёў ЁҐ ®в
Є«ЁҐв . Љ«ЁҐв Ї®бл« Ґв бҐаўҐаг § Їа®б Ї®«г票Ґ ¤ ле Ё«Ё
ўлЇ®«ҐЁҐ а Ў®вл. ‘ҐаўҐа, Ї®«гзЁў § Їа®б, ўлЇ®«пҐв ¤Ґ©бвўЁп Ё
Ї®бл« Ґв ®вўҐв.
‘ҐаўҐа ¬®¦Ґв Ё¬Ґвм ¬®¦Ґбвў® Є«ЁҐв®ў ў ®¤® Ё в® ¦Ґ ўаҐ¬п Ё
Є«ЁҐв ¬®¦Ґв § Їа иЁў вм ¤ лҐ ®в ¬®¦Ґбвў бҐаўҐа®ў. Ѓ®«ҐҐ
в®Ј®, ЇаЁ«®¦ҐЁҐ ¬®¦Ґв Ўлвм ®¤®ўаҐ¬Ґ® Ё Є«ЁҐв®¬ Ё бҐаўҐа®¬.
’Ґе®«®ЈЁп DDE Ё§ з «м® б®§¤ ў « бм ¤«п ®аЈ Ё§ жЁЁ ®Ў¬Ґ
¤ л¬Ё ¬Ґ¦¤г ЇаЁ«®¦ҐЁп¬Ё, ўлЇ®«пойЁ¬Ёбп ®¤®© ¬ иЁҐ, ®
бгйҐбвўгҐв Ё а §ўЁвЁҐ нв®© вҐе®«®ЈЁЁ ¤«п ЇаЁ«®¦ҐЁ©,
ўлЇ®«пойЁебп а §ле ¬ иЁ е, §лў Ґ¬®Ґ NetDDE.
’Ґе®«®ЈЁп DDE § தЁ« бм ў Ґ¤а е ®ЇҐа жЁ®ле б।,
гЇа ў«пҐ¬ле б®ЎлвЁп¬Ё.
ЋЇҐа жЁ® п б। , гЇа ў«пҐ¬ п б®ЎлвЁп¬Ё, ®вб«Ґ¦Ёў Ґв ўбҐ
ў®§¬®¦лҐ б®ЎлвЁп, Їа®Ёб室пйЁҐ ў бЁб⥬Ґ, ЇаЁ¬Ґа, ¦ вЁп
Є« ўЁи, ЇҐаҐ¬ҐйҐЁп ¬лиЁ, бЁЈ «л ®в ўҐиҐ© б।л, ЇаЁҐ¬
б®®ЎйҐЁ© ®в ЇаЁ«®¦ҐЁ©.
ЋЎа Ў влў п нвЁ б®ЎлвЁп, ®ЇҐа жЁ® п б। д®а¬ЁагҐв
б®®ЎйҐЁп ЇаЁ«®¦ҐЁп¬.
ЏаЁ«®¦ҐЁҐ, Є®в®а®Ґ ўлЇ®«пҐвбп ў б।Ґ, гЇа ў«пҐ¬®©
б®ЎлвЁп¬Ё, 室Ёвбп ў ЎҐбЄ®Ґз®¬ жЁЄ«Ґ Ё Їа®ўҐапҐв «ЁзЁҐ
б®®ЎйҐЁ© Ґ¬г ®в ®ЇҐа жЁ®®© б।л. ‚ ᮮ⢥вбвўЁҐ б е а ЄвҐа®¬
ЇаЁЁ¬ Ґ¬ле б®®ЎйҐЁ© ЇаЁ«®¦ҐЁҐ ўлЇ®«пҐв ваҐЎгҐ¬лҐ ¤Ґ©бвўЁп Ё
б®ў Ї®бл« Ґв б®®ЎйҐЁп б।Ґ.
‘ гзҐв®¬ гЄ § ®© ®б®ЎҐ®бвЁ, ў а §ўЁвЁЁ вҐе®«®ЈЁЁ DDE
¬®¦® ўл¤Ґ«Ёвм ваЁ нв Ї .
1) ЏҐаўл© нв Ї бгйҐбвў®ў Ёп DDE, Є®Ј¤ DDE ॠ«Ё§®ўлў «бп
®б®ўҐ ЇаאַЈ® ®Ў¬Ґ бЁб⥬묨 б®®ЎйҐЁп¬Ё ¬Ґ¦¤г
ЇаЁ«®¦ҐЁп¬Ё.
„«п Ї®бл«ЄЁ б®®ЎйҐЁ© ¬®Јгв Ўлвм ЁбЇ®«м§®ў л бЁб⥬лҐ
дгЄжЁЁ SendMessage (бЁеа® п) Ё PostMessage ( бЁеа® п).
„«п DDE ўл¤Ґ«Ґ бЇҐжЁ «м п ЈагЇЇ б®®ЎйҐЁ©, Ё¬Ґ®:
wm_DDE_Initiate - €ЁжЁЁа®ў вм бҐ б ®Ў¬Ґ ¤ л¬Ё;
wm_DDE_Terminate - ‡ ўҐаиЁвм бҐ б ®Ў¬Ґ ¤ л¬Ё;
wm_DDE_Execute - ‚лЇ®«Ёвм Є®¬ ¤г;
wm_DDE_Ack - Џ®«гзЁвм бв вгб ®ЇҐа жЁЁ;
wm_DDE_Poke - Џ®б« вм ¤ лҐ бҐаўҐаг;
wm_DDE_Request - ‡ Їа®бЁвм ¤ лҐ г бҐаўҐа ;
wm_DDE_Advise - “бв ®ўЁвм бўп§м б бҐаўҐа®¬;
wm_DDE_UnAdvise - ‡ ўҐаиЁвм бўп§м б бҐаўҐа®¬;
wm_DDE_Data - Џ®б« вм ¤ лҐ Є«ЁҐвг.
Џа®Ја ¬¬Ёа®ў ЁҐ ®Ў¬Ґ Ї® ¤ ®© вҐе®«®ЈЁЁ пў«пҐвбп
¤®ў®«м® б«®¦®© § ¤ 祩, з⮠ᤥনў «® а бЇа®бва ҐЁҐ
вҐе®«®ЈЁЁ DDE. Џ®н⮬㠤«п ᮧ¤ Ёп ЇаЁ«®¦ҐЁ©, ॠ«Ё§гойЁе DDE,
Ўл« ᮧ¤ бЇҐжЁ «Ё§Ёа®ў п ®ЎкҐЄв®-®аЁҐвЁа®ў п
ЎЁЎ«Ё®вҐЄ DDEML, пў«пой пбп ¤бва®©Є®© ¤ DDE Ё
ЇаҐ¤®бв ў«пой п API, ®Ў«ҐЈз ойЁ© ᮧ¤ ЁҐ DDE-ЇаЁ«®¦ҐЁ©.
‚¬Ґбв® ҐЇ®б।б⢥®© Ї®бл«ЄЁ DDE-б®®ЎйҐЁ© б Ї®¬®ймо
дгЄжЁ© SendMessage Ё PostMessage ЇаЁ«®¦ҐЁп ЁбЇ®«м§гов дгЄжЁЁ
DDEML.
2) ‚в®а®© нв Ї бгйҐбвў®ў Ёп DDE, Є®Ј¤ DDE-ЇаЁ«®¦ҐЁп
Їа®Ја ¬¬Ёаговбп б Ї®¬®ймо DDEML.
ќв®в нв Ї ¤ «ҐҐ Ўг¤Ґв а бᬮвॠЎ®«ҐҐ Ї®¤а®Ў®. Ћв¬ҐвЁ¬
в®«мЄ®, зв® б Ї®пў«ҐЁҐ¬ DDEML б«®¦®бвм ᮧ¤ Ёп DDE-ЇаЁ«®¦ҐЁ©
㬥миЁ« бм, ® ўбҐ а ў® ®бв ў « бм ҐйҐ ¤®ў®«м® б«®¦®©.
3) ’аҐвЁ© нв Ї бгйҐбвў®ў Ёп DDE ¬®¦® бўп§ вм б Ї®пў«ҐЁҐ¬
ўЁ§г «мле б।бвў а §а Ў®вЄЁ ЇаЁ«®¦ҐЁ©. ’ Є, ЇаЁ¬Ґа, б।
Delphi ЇаҐ¤« Ј Ґв § Є®зҐлҐ Є®¬Ї®Ґвл DDE-Є«ЁҐв Ё
DDE-бҐаўҐа , Є®в®алҐ бЄалў ов ў ᥡҐ ўбҐ д®а¬ «Ё§гҐ¬лҐ нв Їл
дгЄжЁ®Ёа®ў Ёп DDE-ЇаЁ«®¦ҐЁ©, Ё бгйҐб⢥® ®Ў«ҐЈз ов ᮧ¤ ЁҐ
DDE-ЇаЁ«®¦ҐЁ©.
ЌҐ ᬮвап а §ўЁвЁҐ DDE-вҐе®«®ЈЁЁ ў ᮮ⢥вбвўЁҐ б
ЇҐаҐзЁб«Ґл¬Ё в६п нв Ї ¬Ё, бгйҐбвўгов ҐЄ®в®алҐ ®ЎйЁҐ
Є®жҐЇжЁЁ ў ҐҐ § «®¦ҐлҐ, ®бв ойЁҐбп ҐЁ§¬Ґл¬Ё.
Љ § Є®¬бвўг б нвЁ¬Ё Є®жҐЇжЁп¬Ё ¬л Ё ЇҐаҐ©¤Ґ¬.
я3‘Ёб⥬ ¤аҐб жЁЁ ¤ ле
DDE-Їа®в®Є®« ЁбЇ®«м§гҐв ваҐега®ўҐўго бЁб⥬㠤аҐб жЁЁ
ЇҐаҐ¤ ў Ґ¬ле ¤ ле:
Service Name - Ё¬п бҐаўЁб . ‘ ¬л© ўҐаеЁ© га®ўҐм ¤аҐб жЁЁ.
‘ҐаўҐал ¬®Јгв ॠ«Ё§®ўлў вм ҐбЄ®«мЄ® ўЁ¤®ў бҐаўЁб , ®¤ Є® з йҐ
ўбҐЈ® ®¤Ё бҐаўҐа ॠ«Ё§гҐв ®¤Ё ўЁ¤ бҐаўЁб , Ї®н⮬㠢 Є зҐб⢥
Ё¬ҐЁ бҐаўЁб ¬®¦Ґв Ўлвм ЁбЇ®«м§®ў ® Ё¬п ЇаЁ«®¦ҐЁп -
Application.
Topic Name - Ё¬п ⥬л, ®ЇаҐ¤Ґ«по饥 ҐЄ®в®ал© «®ЈЁзҐбЄЁ©
Є®вҐЄбв ¤ ле. „«п бҐаўҐа®ў, а Ў®в ойЁе ®б®ўҐ д ©«®ўле
¤®Єг¬Ґв®ў, Ё¬п ⥬л з йҐ ўбҐЈ® б®ўЇ ¤ Ґв б Ё¬ҐҐ¬ д ©«
¤®Єг¬Ґв .
Item Name - Ё¬п н«Ґ¬Ґв ¤ ле. €¬п н«Ґ¬Ґв Ё¤ҐвЁдЁжЁагҐв
н«Ґ¬Ґв ¤ ле, Є®в®ал© ¬®¦Ґв Ўлвм ЇҐаҐ¤ § ®¤г ва § ЄжЁо.
’а § ЄжЁҐ© Ўг¤Ґ¬ §лў вм б®ЎлвЁҐ ЇҐаҐ¤ зЁ ®¤®Ј® н«Ґ¬Ґв
¤ ле ®в Є«ЁҐв Є бҐаўҐаг Ё«Ё ®в бҐаўҐа Є Є«ЁҐвг.
‚ᥠваЁ га®ўп ®ЇЁблў овбп бва®Є ¬Ё. ‘ва®ЄЁ еа пвбп ў
бЇҐжЁ «м®© Ј«®Ў «м®© в Ў«ЁжҐ. ‘бл«ЄЁ ᮮ⢥вбвўгойЁҐ бва®ЄЁ
§лў овбп ⮬ ¬Ё.
ЋЎ¬Ґ Є®ЄаҐвл¬Ё § 票ﬨ ¤ ле ўбҐЈ¤ б®Їа®ў®¦¤ Ґвбп
гЄ § ЁҐ¬ (пўл¬ Ё«Ё Ґпўл¬) ўбҐе ваҐе га®ўҐ©, Є Є®в®ал¬
®в®бпвбп ЇҐаҐ¤ ў Ґ¬лҐ ¤ лҐ.
я3Љ®жҐЇжЁп дгЄжЁЁ ®вЄ«ЁЄ
Њл 㦥 § Є®¬Ё«Ёбм б Ї®пвЁҐ¬ Їа®жҐ¤гал ®Ўа в®Ј® ўл§®ў ,
в.Ґ. Їа®жҐ¤гал, Є®в®аго ўл§лў Ґв б। ¤«п ®Ї®ўҐйҐЁп ЇаЁ«®¦ҐЁп
® ўлЇ®«ҐЁЁ ҐЄ®в®але ¤Ґ©бвўЁ©.
”гЄжЁп ®вЄ«ЁЄ ў DDE - нв® Ё Ґбвм Їа®жҐ¤га ®Ўа в®Ј®
ўл§®ў . Ћв«ЁзЁҐ ®в а ҐҐ а бᬮваҐле ў аЁ в®ў б®бв®Ёв ў
Ў®«м襩 б«®¦®бвЁ.
DDE-ЇаЁ«®¦ҐЁҐ ®ЇаҐ¤Ґ«пҐв дгЄжЁо ®вЄ«ЁЄ , Є®в®аго Ўг¤Ґв
ўл§лў вм DDEML ў ®вўҐв б®ЎлвЁп, ў®§ЁЄ ойЁҐ ЇаЁ ᮧ¤ ЁЁ
ᮥ¤ЁҐЁп ¬Ґ¦¤г ЇаЁ«®¦ҐЁп¬Ё, ЇаЁ ®Ў¬ҐҐ ¤ л¬Ё Ё ЇаЁ
а §кҐ¤ЁҐЁЁ. DDEML ЇҐаҐ¤ Ґв ў нвг дгЄжЁо ®¬Ґа ва § ЄжЁЁ,
дгЄжЁп Ї® н⮬㠮¬Ґаг ўлЇ®«пҐв § Їа®Ја ¬¬Ёа®ў лҐ ¤Ґ©бвўЁп.
ЌЁ¦Ґ ЇаҐ¤бв ў«Ґ ЇаЁ¬Ґа п бвагЄвга дгЄжЁЁ ®вЄ«ЁЄ :
Function CallBackProc(CallType : Word;
Fmt : Word;
Conv : HConv;
HSz1 : HSZ;
HSz2 : HSZ;
Data : HDDEData) : HDDEData;
Begin
CallBackProc := 0;
Case CallType Of
xtyp_... : Begin
{ॠЄжЁп ᮮ⢥вбвўгойго ва § ЄжЁо}
End;
Else
End {Case};
End {CallBackProc};
Ј¤Ґ CallType - вЁЇ ва § ЄжЁЁ;
Fmt - д®а¬ в ¤ ле, «®ЈЁзл© д®а¬ в ¬ ¤ ле Clipboard;
‘onv - ббл«Є Є «;
HSz1 - ббл«Є бва®Єг; {нв® Ё«Ё Ї а (‘ҐаўЁб, ’Ґ¬ ) Ё«Ё}
HSz2 - ббл«Є бва®Єг; {Ї а (’Ґ¬ , ќ«Ґ¬Ґв)}
Data - ббл«Є ЇҐаҐ¤ ў Ґ¬лҐ Ё«Ё ЇаЁЁ¬ Ґ¬лҐ ¤ лҐ.
я3ќв Їл дгЄжЁ®Ёа®ў Ёп DDE-ЇаЁ«®¦ҐЁп
„Ґ©бвўЁп, Є®в®алҐ ўлЇ®«пҐв DDE-ЇаЁ«®¦ҐЁҐ ў вҐзҐЁҐ бў®ҐЈ®
¦Ё§Ґ®Ј® жЁЄ« , а §«Ёз овбп ў § ўЁбЁ¬®бвЁ ®в в®Ј®, пў«пҐвбп нв®
ЇаЁ«®¦ҐЁҐ бҐаўҐа®¬ Ё«Ё Є«ЁҐв®¬. Џ®н⮬г нв Їл дгЄжЁ®Ёа®ў Ёп
DDE-бҐаўҐа Ё DDE-Є«ЁҐв а бᬮваЁ¬ а §¤Ґ«м®.
я1€ЁжЁ «Ё§ жЁп бҐаўҐа
€ЁжЁ «Ё§ жЁп бҐаўҐа ўЄ«оз Ґв ў ᥡп б«Ґ¤гойЁҐ нв Їл:
1) ђҐЈЁбва жЁп дгЄжЁЁ ®вЄ«ЁЄ ў б।Ґ. ќв® ¤Ґ« Ґвбп б
Ї®¬®ймо бЁб⥬®© дгЄжЁЁ, Ё¬Ґо饩 б«Ґ¤го饥 Ё¬п:
MakeProcInstance(...).
”гЄжЁЁ MakeProcInstance ЇҐаҐ¤ Ґвбп ¤аҐб дгЄжЁЁ ®вЄ«ЁЄ ,
® ў®§ўа й Ґв § ॣЁбваЁа®ў л© гЄ § ⥫м дгЄжЁо ®вЄ«ЁЄ .
‚ ¤ «мҐ©иҐ¬ Є дгЄжЁЁ ®вЄ«ЁЄ ¬®¦® ®Ўа й вмбп в®«мЄ® зҐаҐ§
нв®в § ॣЁбваЁа®ў л© гЄ § ⥫м.
2) ђҐЈЁбва жЁп бҐаўҐа ў DDEML. ќв® ¤Ґ« Ґвбп б Ї®¬®ймо
дгЄжЁЁ DDEML, Ё¬Ґо饩 б«Ґ¤го饥 Ё¬п:
DDEInitialize(...).
”гЄжЁЁ DDEInitialize ЇҐаҐ¤ Ґвбп § ॣЁбваЁа®ў л©
гЄ § ⥫м дгЄжЁо ®вЄ«ЁЄ , ў®§ўа й Ґв ® Ё¤ҐвЁдЁЄ в®а
ЇаЁ«®¦ҐЁп Є Є DDE-ЇаЁ«®¦ҐЁп Ё Є®¤ ®иЁЎЄЁ ॣЁбва жЁЁ.
3) ђҐЈЁбва жЁп "бҐаўЁб ", ЇаҐ¤®бв ў«пҐ¬®Ј® бҐаўҐа®¬. ќв®
¤Ґ« Ґвбп б Ї®¬®ймо дгЄжЁЁ DDEML, Ё¬Ґо饩 б«Ґ¤го饥 Ё¬п:
DDENameService(...).
”гЄжЁЁ DDENameService ЇҐаҐ¤ овбп Ё¤ҐвЁдЁЄ в®а
DDE-ЇаЁ«®¦ҐЁп Ё бва®Є б Ё¬ҐҐ¬ бҐаўЁб , б ¬ дгЄжЁп
ў®§ўа й Ґв Є®¤ ®иЁЎЄЁ ॣЁбва жЁЁ.
Џ®б«Ґ ўлЇ®«ҐЁп ЇҐаҐзЁб«Ґле нв Ї®ў ЁЁжЁ «Ё§ жЁп бҐаўҐа
§ Є зЁў Ґвбп Ё ® ЇҐаҐе®¤Ёв ў ०Ё¬ ®¦Ё¤ Ёп § Їа®б®ў ®в
Є«ЁҐв®ў.
я1€ЁжЁ «Ё§ жЁп Є«ЁҐв
€ЁжЁ «Ё§ жЁп Є«ЁҐв ўЄ«оз Ґв ў ᥡп б«Ґ¤гойЁҐ нв Їл:
1) ђҐЈЁбва жЁп дгЄжЁЁ ®вЄ«ЁЄ ў б।Ґ. ќв® ¤Ґ« Ґвбп
«®ЈЁз® ॣЁбва жЁЁ дгЄжЁЁ ®вЄ«ЁЄ бҐаўҐа .
2) ђҐЈЁбва жЁп Є«ЁҐв ў DDEML. ќв® в Є¦Ґ ¤Ґ« Ґвбп
«®ЈЁз® ॣЁбва жЁЁ бҐаўҐа .
3) ‘®§¤ ЁҐ Є « бўп§Ё ¬Ґ¦¤г Є«ЁҐв®¬ Ё бҐаўҐа®¬.
‘®§¤ ЁҐ Є « ўлЇ®«пҐвбп в®«мЄ® Ї® ЁЁжЁ вЁўҐ Є«ЁҐв Ё
®бгйҐбвў«пҐвбп б Ї®¬®ймо ўл§®ў дгЄжЁЁ, Ё¬Ґо饩 б«Ґ¤го饥 Ё¬п:
DDEConnect(...).
”гЄжЁЁ DDEConnect ЇҐаҐ¤ овбп бва®ЄЁ б Ё¬Ґ ¬Ё бҐаўЁб Ё
⥬л, в Є¦Ґ § ॣЁбваЁа®ў л© Ё¤ҐвЁдЁЄ в®а DDE-Є«ЁҐв .
‚ б«гз Ґ гбЇҐи®Ј® ўлЇ®«ҐЁп дгЄжЁп ў®§ўа й Ґв
ЇаЁ«®¦ҐЁо-Є«ЁҐвг ббл«Єг ᮧ¤ л© Є « бўп§Ё.
ќв Ї®¬ ᮧ¤ Ёп Є « § Є зЁў Ґвбп ЁЁжЁ «Ё§ жЁп Є«ЁҐв Ё
Ї®пў«пҐвбп ў®§¬®¦®бвм ®Ў¬Ґ ¤ л¬Ё ¬Ґ¦¤г Є«ЁҐв®¬ Ё бҐаўҐа®¬.
ќв Їл ЁЁжЁ «Ё§ жЁЁ бҐаўҐа , ЇҐаҐзЁб«ҐлҐ ўлиҐ, ўлЇ®«повбп
ЎҐ§ Є Є®Ј®-«ЁЎ® гз бвЁп б® бв®а®л Є«ЁҐв , Є«ЁҐв ¤ ¦Ґ ¬®¦Ґв
Ўлвм ў®®ЎйҐ Ґ § Ја㦥.
Џ®б«Ґ¤Ё© нв Ї ЁЁжЁ «Ё§ жЁЁ Є«ЁҐв - ᮧ¤ ЁҐ Є « бўп§Ё
- ўлЇ®«пҐвбп ЇаЁ гз бвЁЁ бҐаўҐа .
‘®§¤ ЁҐ Є « - б«®¦ п Їа®жҐ¤га , ўЄ«оз ой п б«Ґ¤гойго
Ї®б«Ґ¤®ў ⥫м®бвм ¤Ґ©бвўЁ©.
ЏаЁ ўл§®ўҐ Є«ЁҐв®¬ дгЄжЁЁ DDEConnect, DDEML Ї®бл« Ґв
ва § ЄжЁо xtyp_Connect ўбҐ¬ бҐаўҐа ¬, § ॣЁбваЁа®ў ўиЁ¬
ваҐЎгҐ¬л© бҐаўЁб.
”гЄжЁп ®вЄ«ЁЄ Є ¦¤®Ј® бҐаўҐа , ў Є зҐб⢥ ॠЄжЁЁ нвг
ва § ЄжЁо, Їа®ўҐапҐв г бҐЎп ў®§¬®¦®бвм Ї®¤¤Ґа¦ЄЁ § ¤ ле
бҐаўЁб Ё ⥬л, Ё Ґб«Ё бҐаўҐа Ї®¤¤Ґа¦Ёў Ґв Ёе, в® ® ў®§ўа й Ґв ў
DDEML ᮮ⢥вбвўгойЁ© ЇаЁ§ Є (1) ЇаЁ § ўҐа襨Ё ўлЇ®«ҐЁп
дгЄжЁЁ ®вЄ«ЁЄ . ќв® ®§ з Ґв, зв® Є « ¬Ґ¦¤г Є«ЁҐв®¬ Ё
бҐаўҐа®¬ ¬®¦Ґв Ўлвм ᮧ¤ .
Џ®«гзЁў ®¦Ё¤ Ґ¬л© ЇаЁ§ Є ®в дгЄжЁЁ ®вЄ«ЁЄ бҐаўҐа , DDEML
§ ўҐаи Ґв ўлЇ®«ҐЁҐ дгЄжЁЁ DDEConnect Є«ЁҐв , ў®§ўа й п
Ґ¬г Ё¤ҐвЁдЁЄ в®а Є « .
ЏаЁ н⮬ DDEML ЇҐаҐ¤ Ґв бҐаўҐаг ®ўго ва § ЄжЁо
xtyp_Connect_Confirm Ё Ё¤ҐвЁдЁЄ в®а ᮧ¤ ®Ј® Є « Їг⥬
Ї®ўв®а®Ј® ўл§®ў ҐЈ® дгЄжЁЁ ®вЄ«ЁЄ .
’ ЄЁ¬ ®Ўа §®¬ Ё Є«ЁҐв Ё бҐаўҐа Ї®«гз ов Ё¤ҐвЁдЁЄ в®а
®¤®Ј® Ё в®Ј® ¦Ґ Є « , Ї®б«Ґ 祣® ᮥ¤ЁҐЁҐ бзЁв Ґвбп
гбв ®ў«Ґл¬ Ё Ї®пў«пҐвбп ў®§¬®¦®бвм ®Ў¬Ґ ¤ л¬Ё.
я1ЋЎ¬Ґ ¤ л¬Ё
’аЁ ў аЁ в ®Ў¬Ґ ¤ л¬Ё ¬®Јгв Ўлвм ॠ«Ё§®ў л б Ї®¬®ймо
DDE-вҐе®«®ЈЁЁ.
1) ЏҐаҐ¤ з ¤ ле ®в бҐаўҐа Є Є«ЁҐвг Ї® § Їа®бг
Ї®б«Ґ¤ҐЈ®.
2) ЏҐаҐ¤ з ¤ ле ®в Є«ЁҐв бҐаўҐаг.
3) ЏҐаҐ¤ з ¤ ле ®в бҐаўҐа Є Є«ЁҐвг ЎҐ§ § Їа®б ®в
Ї®б«Ґ¤ҐЈ® ЇаЁ Ё§¬ҐҐЁпе ¤ ле.
‚ᥠ¤Ґ©бвўЁп Ї® ®Ў¬Ґг ¤ л¬Ё б® бв®а®л Є«ЁҐв
ўлЇ®«повбп б Ї®¬®ймо дгЄжЁЁ
DDEClientTransaction(...).
ќв®© дгЄжЁЁ ЇҐаҐ¤ овбп Ё¤ҐвЁдЁЄ в®а Є « , вЁЇ ва § ЄжЁЁ
Ё ¤агЈЁҐ ¤ лҐ, ®ЇаҐ¤Ґ«пҐ¬лҐ нвЁ¬ вЁЇ®¬. Ќ ЇаЁ¬Ґа, Ё¬п н«Ґ¬Ґв ,
д®а¬ в ¤ ле, ¤аҐб ¤ ле.
я2ЏҐаҐ¤ з ¤ ле ®в бҐаўҐа Ї® § Їа®бг ®в Є«ЁҐв
„«п Ї®«гзҐЁп ¤ ле ®в бҐаўҐа Ї® § Їа®бг, Є«ЁҐв ўл§лў Ґв
дгЄжЁо DDEClientTransaction, Ї®бл« п ва § ЄжЁо xtyp_Request ў
DDEML.
‚ б«гз Ґ гбЇҐи®Ј® § ўҐа襨п ва § ЄжЁЁ, дгЄжЁп ў®§ўа й Ґв
ббл«Єг § Їа иЁў Ґ¬лҐ ¤ лҐ, 室пйЁҐбп ў ®Ў« бвЁ Ј«®Ў «м®©
Ї ¬пвЁ. ќвЁ ¤ лҐ ¤®«¦л Ўлвм Їа®зЁв л Є«ЁҐв®¬ ў «®Є «мго
Ї ¬пвм б Ї®¬®ймо ўл§®ў дгЄжЁЁ
DDEGetData(...),
Є®в®а®© ЇҐаҐ¤ овбп ббл«Є Ј«®Ў «мго Ї ¬пвм, ᮤҐа¦ йго
¤ лҐ, Ё гЄ § вҐ«м ЎгдҐа ў «®Є «м®© Ї ¬пвЁ.
Џ®б¬®ваЁ¬ ⥯Ґам, Є Є ॠЈЁагҐв ва § ЄжЁо xtyp_Request
бҐаўҐа.
DDEML ЇҐаҐ¤ Ґв нвг ва § ЄжЁо бҐаўҐаг, ўл§лў п ҐЈ® дгЄжЁо
®вЄ«ЁЄ . Ља®¬Ґ вЁЇ ва § ЄжЁЁ, DDEML ЇҐаҐ¤ Ґв бҐаўҐаг д®а¬ в
¤ ле Ё Ё¬Ґ вҐ¬л Ё н«Ґ¬Ґв .
…б«Ё бҐаўҐа Ї®¤¤Ґа¦Ёў Ґв § Їа иЁў Ґ¬лҐ д®а¬ в, ⥬㠨
н«Ґ¬Ґв, в® ® дгЄжЁҐ© ®вЄ«ЁЄ ў®§ўа й Ґв ббл«Єг вॡ㥬лҐ
¤ лҐ.
ќв ббл«Є д®а¬ЁагҐвбп ЇаЁ ўл§®ўҐ дгЄжЁЁ
DDECreateDataHandle(...),
Є®в®а п § Їа иЁў Ґв Ў«®Є Ј«®Ў «м®© Ї ¬пвЁ Ё ЇҐаҐЇЁблў Ґв ў ҐЈ®
¤ лҐ Ё§ «®Є «м®Ј® ЎгдҐа .
Clipboard - нв® б।бвў® ®Ў¬Ґ ¤ л¬Ё, ЇаҐ¤бв ў«по饥
б®Ў®© б®ў®ЄгЇ®бвм а §¤Ґ«пҐ¬®© ®Ў« бвЁ Ї ¬пвЁ Ё Ў®а дгЄжЁ©,
®Ўб«г¦Ёў ойЁе нвг ®Ў« бвм.
’а ¤ЁжЁ®л¬ бЇ®б®Ў®¬ ЁбЇ®«м§®ў Ёп Clipboard пў«пҐвбп ®Ў¬Ґ
¤ л¬Ё ЇаЁ гз бвЁЁ Ї®«м§®ў ⥫п.
Ћ¤ Є® Ё ¤агЈЁҐ, Ў®«ҐҐ а §ўЁвлҐ б।бвў ®Ў¬Ґ ¤ л¬Ё,
в ЄЁҐ Є Є DDE Ё OLE, ЁбЇ®«м§гов Є®жҐЇжЁЁ Clipboard ў бў®Ґ©
®б®ўҐ.
‚ ¦Ґ©иҐ© Є®жҐЇжЁҐ© Clipboard пў«пҐвбп Є®жҐЇжЁп д®а¬ в
¤ ле.
Ёа®Є®Ґ а бЇа®бва ҐЁҐ Clipboard Ё Ї®«гзЁ« Ё§-§
д ЄвЁзҐбЄ®© бв ¤ авЁ§ жЁЁ ап¤ д®а¬ в®ў ¤ ле, ЁбЇ®«м§гҐ¬ле ЇаЁ
®Ў¬ҐҐ ¬Ґ¦¤г ЇаЁ«®¦ҐЁп¬Ё.
ќв бв ¤ авЁ§ жЁп Ї®§ў®«Ё« бпвм б Ї®«м§®ў вҐ«п Їа®Ў«Ґ¬л
ЇаҐ®Ўа §®ў Ёп ¤ ле ЇаЁ ЇҐаҐ¤ зҐ Ёе Ё§ ®¤®Ј® ЇаЁ«®¦ҐЁп ў
¤агЈ®Ґ, зв® Ё бЇ®б®Ўбвў®ў «® иЁа®Є®¬г а бЇа®бва ҐЁо Clipboard.
‘। б ¬ ЎҐаҐв бҐЎп Їа®Ў«Ґ¬л ЇаҐ®Ўа §®ў Ёп ¤ ле ®б®ўҐ
ап¤ бв ¤ авле д®а¬ в®ў.
‘в ¤ авЁ§ жЁп д®а¬ в®ў, ®¤ Є®, Ґ ®Ја ЁзЁў Ґв ў®§¬®¦®бвЁ
Ёе а биЁаҐЁп.
ЏаЁ«®¦ҐЁҐ ¬®¦Ґв ᮧ¤ вм ®ўл© д®а¬ в, ®в«Ёзл© ®в
бв ¤ авле. …Ј® в®«мЄ® Ґ®Ўе®¤Ё¬® § ॣЁбваЁа®ў вм ў б।Ґ б
Ї®¬®ймо дгЄжЁЁ
я3RegisterClipboardFormat,
ЇҐаҐ¤ ў нв®© дгЄжЁЁ Ё¬п д®а¬ в .
”гЄжЁп ў®§ўа й Ґв гЁЄ «мл© Ё¤ҐвЁдЁЄ в®а д®а¬ в . …б«Ё
¤агЈЁҐ ЇаЁ«®¦ҐЁп ўл§®ўгв нвг дгЄжЁо, ЇҐаҐ¤ ў Ґ© нв® ¦Ґ Ё¬п
д®а¬ в , в® дгЄжЁп ў®§ўа вЁв Ё¬ 㦥 ᮧ¤ л© Ё¤ҐвЁдЁЄ в®а
д®а¬ в . ’ ЄЁ¬ ®Ўа §®¬, ўбҐ ЇаЁ«®¦ҐЁп Ўг¤гв Ї®«м§®ў вмбп ®¤Ё¬
Ё ⥬ ¦Ґ Ё¤ҐвЁдЁЄ в®а®¬ ¤«п ®Ў¬Ґ ¤ л¬Ё, ЇаҐ¤бв ў«Ґл¬Ё ў
н⮬ д®а¬ вҐ.
‘в ¤ авлҐ д®а¬ вл ¤ ле ®Ў®§ з овбп Є®бв в ¬Ё,
Ё¬ҐойЁ¬Ё бЁ¬ў®«ЁзҐбЄЁҐ Ё¬Ґ . ЏаЁўҐ¤Ґ¬ ў Є зҐб⢥ ЇаЁ¬Ґа Ї аг
в ЄЁе д®а¬ в®ў:
cf_Text - ASCIIZ бва®Є ;
cf_BitMap - ®¤Ё Ё§ д®а¬ в®ў Ја дЁзҐбЄ®Ј® Ё§®Ўа ¦ҐЁп.
‘гйҐбвўгҐв ҐйҐ ҐбЄ®«мЄ® (®Є®«® 6) бв ¤ авле д®а¬ в®ў
¤ ле, Ї®¤¤Ґа¦Ёў Ґ¬ле Clipboard.
ЌЁ¦Ґ ¬л а бᬮваЁ¬ Ї®а冷Є ®Ў¬Ґ ¤ л¬Ё зҐаҐ§ Clipboard б
в®зЄЁ §аҐЁп Їа®Ја ¬¬Ёбв , Ґ Ї®«м§®ў ⥫п.
я_ЏҐаҐ¤ з ¤ ле ў Clipboard
ЏҐаҐ¤ з ¤ ле ў Clipboard ўЄ«оз Ґв ў ᥡп ап¤ нв Ї®ў.
1. Џ®¤Ј®в®ўЄ ¤ ле ¤«п ЇҐаҐ¤ зЁ ў Clipboard;
2. ЋвЄалвЁҐ Clipboard;
3. ЋзЁбвЄ Clipboard;
4. Џ®бл«Є ¤ ле ў Clipboard;
5. ‡ ЄалвЁҐ Clipboard.
я11. Џ®¤Ј®в®ўЄ ¤ ле ¤«п ЇҐаҐ¤ зЁ ў Clipboard;
Џ®бл«Єг ¤ ле а бᬮваЁ¬ ЇаЁ¬ҐаҐ ЇҐаҐ¤ зЁ ў Clipboard
ASCIIZ - бва®ЄЁ.
1) ‚뤥«пҐ¬ Ў«®Є ¤Ё ¬ЁзҐбЄ®© Ї ¬пвЁ:
GHandle := GlobalAlloc(gmem_Movable, StrLen(P) + 1);
Ј¤Ґ GHandle : THandle - ббл«Є Ў«®Є ¤Ё ¬ЁзҐбЄ®© Ї ¬пвЁ;
P : PChar - гЄ § вҐ«м ЇҐаҐ¤ ў Ґ¬го бва®Єг.
2) ”ЁЄбЁа㥬 Ў«®Є ®в ЇҐаҐ¬ҐйҐЁ© ўаҐ¬п ЇҐаҐ¤ зЁ ў ҐЈ®
¤ ле Ё ®¤®ўаҐ¬Ґ® Ї®«гз Ґ¬ гЄ § вҐ«м Ў«®Є:
GPtr := GlobalLock(GHandle);
Ј¤Ґ GPtr : PChar - гЄ § вҐ«м Ў«®Є.
3) Љ®ЇЁа㥬 бва®Єг ў Ї ¬пвм:
StrCopy(GPtr, P).
4) ђ §аҐи Ґ¬ ЇҐаҐ¬ҐйҐЁҐ Ў«®Є Ї ¬пвЁ:
GlobalUnlock(GHandle).
я12.я0 я1ЋвЄалвЁҐ Clipboard
ЋвЄалвЁҐ Clipboard ўлЇ®«пҐвбп ўл§®ў®¬ дгЄжЁЁ
OpenClipboard,
Є®в®а п ў®§ўа й Ґв True, Ґб«Ё Clipboard Ґ ЁбЇ®«м§гҐвбп ¤агЈЁ¬
ЇаЁ«®¦ҐЁҐ¬. ‚ н⮬ б«гз Ґ ў®§¬®¦л Ї®б«Ґ¤гойЁҐ ¤Ґ©бвўЁп б
Clipboard.
я13.я0 я1ЋзЁбвЄ Clipboard
ЋзЁбвЄ Clipboard ўлЇ®«пҐвбп ўл§®ў®¬ дгЄжЁЁ
EmptyClipboard,
ЇҐаҐ¤ § бл«Є®© вг¤ ®ўле ¤ ле.
я14. Џ®бл«Є ¤ ле ў Clipboard
Џ®бл«Є ¤ ле ў Clipboard § Є«оз Ґвбп ў ЇҐаҐ¤ зҐ Clipboard
ббл«ЄЁ Ў«®Є ¤ ле б гЄ § ЁҐ¬ д®а¬ в нвЁе ¤ ле. ќвЁ
¤Ґ©бвўЁп ®бгйҐбвў«повбп б Ї®¬®ймо дгЄжЁЁ:
SetClipboardData(cf_Text, GHandle).
Џ®б«Ґ ўл§®ў нв®© дгЄжЁЁ Clipboard зЁ Ґв ў« ¤Ґвм
¤ л¬Ё.
я15. ‡ ЄалвЁҐ Clipboard
‡ ЄалвЁҐ Clipboard ўлЇ®«пҐвбп ўл§®ў®¬ дгЄжЁЁ
CloseClipboard,
Ї®б«Ґ Є®в®а®Ј® Clipboard бв ®ўЁвбп ¤®бвгЇл¬ ¤агЈЁ¬ ЇаЁ«®¦ҐЁп¬.
я_ЏаЁҐ¬ ¤ ле Ё§ Clipboard
ЏаЁҐ¬ ¤ ле Ё§ Clipboard ўЄ«оз Ґв ў ᥡп б«Ґ¤гойЁҐ нв Їл:
1. ЋвЄалвЁҐ Clipboard;
2. Џа®ўҐаЄ «ЁзЁп вॡ㥬®Ј® д®а¬ в ¤ ле ў Clipboard;
3. —⥨Ґ ¤ ле Ё§ Clipboard;
4. ‡ ЄалвЁҐ Clipboard.
я11. ЋвЄалвЁҐ Clipboard
ЋвЄалвЁҐ Clipboard ўлЇ®«пҐвбп «®ЈЁз® ЇаҐ¤л¤г饬г
б«гз о ўл§®ў®¬ дгЄжЁЁ:
OpenClipboard.
я12. Џа®ўҐаЄ «ЁзЁп вॡ㥬®Ј® д®а¬ в ¤ ле ў Clipboard
Џа®ўҐаЄ «ЁзЁп вॡ㥬®Ј® д®а¬ в ¤ ле ўлЇ®«пҐвбп
ўл§®ў®¬ дгЄжЁЁ:
IsClipboardFormatAvailable(cf_Text),
Є®в®а п ў®§ўа й Ґв True, Ґб«Ё ¤ лҐ § Їа иЁў Ґ¬®Ј® д®а¬ в
ЇаЁбгвбвўгов.
я13. —⥨Ґ ¤ ле Ё§ Clipboard
—⥨Ґ ¤ ле, ў б«гз Ґ гбЇҐи®Ј® ўлЇ®«ҐЁп ўбҐе ЇаҐ¤л¤гйЁе
®ЇҐа жЁ©, ўлЇ®«пҐвбп § ҐбЄ®«мЄ® и Ј®ў:
1) Џ®«г票Ґ ббл«ЄЁ Ў«®Є Ї ¬пвЁ, ᮤҐа¦ йЁ© ¤ лҐ
вॡ㥬®Ј® д®а¬ в :
GHandle := GetClipboardData(cf_Text);
2) Џ®«г票Ґ ¤аҐб ¤ ®Ј® Ў«®Є Ї ¬пвЁ Ё дЁЄбЁа®ў ЁҐ ҐЈ®
®в ў®§¬®¦ле ЇҐаҐ¬ҐйҐЁ© ўаҐ¬п бзЁвлў Ёп ¤ ле:
GPtr := GlobalLock(GHandle);
3) ‚뤥«ҐЁҐ «®Є «м®© Ї ¬пвЁ ¤«п звҐЁп ў ҐҐ ЁвҐаҐбгойЁе
¤ ле:
GetMem(P, StrLen(GPtr) + 1);
4) Љ®ЇЁа®ў ЁҐ ¤ ле Ё§ Ј«®Ў «м®© Ї ¬пвЁ ў «®Є «мго:
StrCopy(P, GPtr);
5) ђ §аҐиҐЁҐ ЇҐаҐ¬ҐйҐЁп Ј«®Ў «м®Ј® Ў«®Є Ї ¬пвЁ:
GlobalUnlock(GHandle).
я14. ‡ ЄалвЁҐ Clipboard
‡ ЄалвЁҐ Clipboard ў б«гз Ґ ЇаЁҐ¬ ¤ ле ўлЇ®«пҐвбп
«®ЈЁз® § ЄалвЁо ў б«гз Ґ ЇҐаҐ¤ зЁ ¤ ле: CloseClipboard.
Љ Є ўЁ¤® Ё§ ЇаЁўҐ¤Ґ®Ј® ®ЇЁб Ёп, ¤«п Їа®Ја ¬¬®©
ॠ«Ё§ жЁЁ ®Ў¬Ґ ¤ л¬Ё зҐаҐ§ Clipboard вॡгҐвбп ўлЇ®«ҐЁп
¤®бв в®з®Ј® Ў®«ми®Ј® Є®«ЁзҐбвў ¤Ґ©бвўЁ©. ЏаЁ н⮬, ॠ«Ё§ жЁп
®Ў¬Ґ ¤«п ¤агЈЁе, Ў®«ҐҐ б«®¦ле д®а¬ в®ў, в ЄЁе, ЇаЁ¬Ґа, Є Є
"Ја дЁзҐбЄ®Ґ Ё§®Ўа ¦ҐЁҐ", бв ®ўЁвбп ҐйҐ Ў®«ҐҐ б«®¦®©.
‘®ўаҐ¬ҐлҐ баҐ¤л Їа®ҐЄвЁа®ў Ёп Ї®§ў®«пов бгйҐб⢥®
®Ў«ҐЈзЁвм а Ў®вг Їа®Ја ¬¬Ёбв Ї® ॠ«Ё§ жЁЁ ®Ў¬Ґ ¤ л¬Ё.
Џ®б¬®ваЁ¬, Є Є ¬®¦® ॠ«Ё§®ў вм ®Ў¬Ґ ¤ л¬Ё зҐаҐ§
Clipboard ў б।Ґ Їа®ҐЄвЁа®ў Ёп Delphi.
‘। Їа®ҐЄвЁа®ў Ёп Delphi ЇаҐ¤®бв ў«пҐв ®ЎкҐЄв TClipboard,
Є®в®ал© ўЄ«оз Ґв ў бҐЎп ўбҐ Ґ®Ўе®¤Ё¬лҐ ¤Ґ©бвўЁп ¤«п гЇа ў«ҐЁп
Clipboard.
‚Є«о票Ґ ¬®¤г«п Clipbrd ў б®бв ў Їа®ҐЄв , ўв®¬ вЁзҐбЄЁ
ᮧ¤ Ґв, ®вЄалў Ґв Ё ¤Ґ« Ґв ¤®бвгЇл¬ нЄ§Ґ¬Ї«па Clipboard. ЏаЁ
н⮬, Є®¬Ї®Ґвл TEdit Ё TMemo, ®ЎҐбЇҐзЁў ойЁҐ а Ў®вг б
⥪бв®ўл¬Ё бва®Є ¬Ё, в Є¦Ґ Є®¬Ї®Ґв TImage, ®ЎҐбЇҐзЁў ойЁ©
а Ў®вг б Ја дЁзҐбЄЁ¬Ё ®Ўа § ¬Ё, Ї®«гз ов ў®§¬®¦®бвм
ЁбЇ®«м§®ў Ёп бў®Ёе ¬Ґв®¤®ў а Ў®вл б Clipboard.
’ Є, ЇаЁ¬Ґа, бЄ®ЇЁа®ў вм Ёд®а¬ жЁо ў Clipboard, Ё§
Є®¬Ї®Ґв Memo вЁЇ TMemo, ¬®¦® б«Ґ¤гойЁ¬ ®Ўа §®¬:
Memo.SelectAll; {ўл¤Ґ«Ёвм ўҐбм ⥪бв}
Memo.CopyToClipboard; {бЄ®ЇЁа®ў вм ўл¤Ґ«Ґл© ⥪бв}
ў®§¬®¦Ґ ¤агЈ®© ¬Ґв®¤: Clipboard.AsText := Memo.Text;
‚л१ вм ⥪бв ¬®¦® б«Ґ¤гойЁ¬ ®Ўа §®¬:
Memo.SelectAll; {ўл¤Ґ«Ёвм ўҐбм ⥪бв}
Memo.CutToClipboard; {ўл१ вм ўл¤Ґ«Ґл© ⥪бв}
‘Є®ЇЁа®ў вм ⥪бв Ё§ Clipboard ¬®¦® б«Ґ¤гойЁ¬ ®Ўа §®¬:
Memo.PasteFromClipboard; Ё«Ё: Memo.Text := Clipboard.AsText;
ЏҐаҐ¤ бзЁвлў ЁҐ¬ ¤ ле Ё§ Clipboard 楫Ґб®®Ўа §®
Їа®ўҐаЁвм, Ґбвм «Ё ў Clipboard ¤ лҐ вॡ㥬®Ј® вЁЇ . ќв® ¬®¦®
ᤥ« вм б Ї®¬®ймо ўл§®ў ¬Ґв®¤ ®ЎкҐЄв Clipboard:
Clipboard.HasFormat(cf_Text),
Є®в®ал© ўҐаҐв True, Ґб«Ё ¤ лҐ ў д®а¬ ⥠cf_Text Ґбвм ў
Clipboard.
„«п ®Ў¬Ґ Ја дЁзҐбЄ®© Ёд®а¬ жЁҐ© б«Ґ¤гҐв ЁбЇ®«м§®ў вм
бЇҐжЁ «м® ЇаҐ¤ § зҐл© ¤«п нв®Ј® ¬Ґв®¤ Assign, ЇаЁ¬Ґал
ЁбЇ®«м§®ў Ёп Є®в®а®Ј® ЇаЁўҐ¤Ґл Ё¦Ґ.
Љ®ЇЁа®ў ЁҐ Ја дЁзҐбЄЁе ¤ ле (ў д®а¬ ⥠cf_BitMap)
бў®©бвў Picture Є®¬Ї®Ґв Image вЁЇ TImage ў Clipboard:
‘lipboard.Assign(Image.Picture).
Љ®ЇЁа®ў ЁҐ Ја дЁзҐбЄЁе ¤ ле Ё§ Clipboard ў Є®¬Ї®Ґв
Image:
If Clipboard.HasFormat(cf_BitMap) Then
Image.Picture.Assign(Clipboard);
Љ Є ўЁ¤® Ё§ ЇаЁўҐ¤Ґле ЇаЁ¬Ґа®ў, ᮢ६Ґ п б।
Їа®ҐЄвЁа®ў Ёп Їа®Ја ¬¬ ЎҐаҐв бҐЎп Ў®«м讥 Є®«ЁзҐбвў® Їа®Ў«Ґ¬,
Ё¬ҐойЁе ¬Ґбв® ЇаЁ ®аЈ Ё§ жЁЁ ®Ў¬Ґ ¤ л¬Ё а §«Ёзле д®а¬ в®ў
зҐаҐ§ Clipboard.
я26.6. ЋЎ¬Ґ ¤ л¬Ё Ї® вҐе®«®ЈЁЁ DDE
ЋЎ¬Ґ ¤ л¬Ё зҐаҐ§ Clipboard ўлЇ®«пҐвбп, Є Є Їа ўЁ«®, ЇаЁ
ҐЇ®б।б⢥®¬ гз бвЁЁ Ї®«м§®ў ⥫п.
‚ ⮬ б«гз Ґ, Є®Ј¤ вॡгҐвбп ҐЇ®б।бвўҐл© ®Ў¬Ґ ¤ л¬Ё
¬Ґ¦¤г ЇаЁ«®¦ҐЁп¬Ё, ¬®¦Ґв Ўлвм ЁбЇ®«м§®ў Їа®в®Є®« ®Ў¬Ґ DDE.
DDE - нв® ўЁ¤ (Ё«Ё Їа®в®Є®«) ў§ Ё¬®¤Ґ©бвўЁп ¬Ґ¦¤г
ЇаЁ«®¦ҐЁп¬Ё, Є®в®ал© ЁбЇ®«м§гҐв а §¤Ґ«пҐ¬го Ї ¬пвм ¤«п ®Ў¬Ґ
¤ л¬Ё ¬Ґ¦¤г Ё¬Ё.
’Ґе®«®ЈЁп DDE Ґ Ї®«гз Ґв иЁа®Є®Ј® а бЇа®бва ҐЁп Ё§-§
б«®¦®б⨠ॠ«Ё§ жЁЁ, ® § Ё¬ Ґв Їа®¬Ґ¦гв®з®Ґ ¬Ґбв® ¬Ґ¦¤г
вҐе®«®ЈЁҐ© Clipboard Ё вҐе®«®ЈЁҐ© OLE, Є®в®а п ⮦Ґ з१ўлз ©®
б«®¦ , ® а §ўЁў Ґвбп Ї®¤ ¬®йл¬ Ї®а®¬ дЁа¬л-Їа®Ё§ў®¤ЁвҐ«п
б ¬ле а бЇа®бва Ґле Ћ‘.
’Ґе®«®ЈЁп DDE Ї®«®бвмо ўЇЁблў Ґвбп ў вҐе®«®ЈЁо
Љ«ЁҐв-‘ҐаўҐа, н«Ґ¬Ґвл Є®в®а®© Ўл«Ё а бᬮваҐл а ҐҐ. ’.Ґ.
®Ў¬Ґ ¤ л¬Ё Ї® Їа®в®Є®«г DDE Їа®Ёб室Ёв ¬Ґ¦¤г ¤ўг¬п
ЇаЁ«®¦ҐЁп¬Ё, ®¤® Ё§ Є®в®але пў«пҐвбп Є«ЁҐв®¬, ¤агЈ®Ґ
бҐаўҐа®¬. ‘ҐаўҐа § Јаг¦ Ґвбп Ё ¦¤Ґв § Їа®б®ў ®Ўб«г¦Ёў ЁҐ ®в
Є«ЁҐв . Љ«ЁҐв Ї®бл« Ґв бҐаўҐаг § Їа®б Ї®«г票Ґ ¤ ле Ё«Ё
ўлЇ®«ҐЁҐ а Ў®вл. ‘ҐаўҐа, Ї®«гзЁў § Їа®б, ўлЇ®«пҐв ¤Ґ©бвўЁп Ё
Ї®бл« Ґв ®вўҐв.
‘ҐаўҐа ¬®¦Ґв Ё¬Ґвм ¬®¦Ґбвў® Є«ЁҐв®ў ў ®¤® Ё в® ¦Ґ ўаҐ¬п Ё
Є«ЁҐв ¬®¦Ґв § Їа иЁў вм ¤ лҐ ®в ¬®¦Ґбвў бҐаўҐа®ў. Ѓ®«ҐҐ
в®Ј®, ЇаЁ«®¦ҐЁҐ ¬®¦Ґв Ўлвм ®¤®ўаҐ¬Ґ® Ё Є«ЁҐв®¬ Ё бҐаўҐа®¬.
’Ґе®«®ЈЁп DDE Ё§ з «м® б®§¤ ў « бм ¤«п ®аЈ Ё§ жЁЁ ®Ў¬Ґ
¤ л¬Ё ¬Ґ¦¤г ЇаЁ«®¦ҐЁп¬Ё, ўлЇ®«пойЁ¬Ёбп ®¤®© ¬ иЁҐ, ®
бгйҐбвўгҐв Ё а §ўЁвЁҐ нв®© вҐе®«®ЈЁЁ ¤«п ЇаЁ«®¦ҐЁ©,
ўлЇ®«пойЁебп а §ле ¬ иЁ е, §лў Ґ¬®Ґ NetDDE.
’Ґе®«®ЈЁп DDE § தЁ« бм ў Ґ¤а е ®ЇҐа жЁ®ле б।,
гЇа ў«пҐ¬ле б®ЎлвЁп¬Ё.
ЋЇҐа жЁ® п б। , гЇа ў«пҐ¬ п б®ЎлвЁп¬Ё, ®вб«Ґ¦Ёў Ґв ўбҐ
ў®§¬®¦лҐ б®ЎлвЁп, Їа®Ёб室пйЁҐ ў бЁб⥬Ґ, ЇаЁ¬Ґа, ¦ вЁп
Є« ўЁи, ЇҐаҐ¬ҐйҐЁп ¬лиЁ, бЁЈ «л ®в ўҐиҐ© б।л, ЇаЁҐ¬
б®®ЎйҐЁ© ®в ЇаЁ«®¦ҐЁ©.
ЋЎа Ў влў п нвЁ б®ЎлвЁп, ®ЇҐа жЁ® п б। д®а¬ЁагҐв
б®®ЎйҐЁп ЇаЁ«®¦ҐЁп¬.
ЏаЁ«®¦ҐЁҐ, Є®в®а®Ґ ўлЇ®«пҐвбп ў б।Ґ, гЇа ў«пҐ¬®©
б®ЎлвЁп¬Ё, 室Ёвбп ў ЎҐбЄ®Ґз®¬ жЁЄ«Ґ Ё Їа®ўҐапҐв «ЁзЁҐ
б®®ЎйҐЁ© Ґ¬г ®в ®ЇҐа жЁ®®© б।л. ‚ ᮮ⢥вбвўЁҐ б е а ЄвҐа®¬
ЇаЁЁ¬ Ґ¬ле б®®ЎйҐЁ© ЇаЁ«®¦ҐЁҐ ўлЇ®«пҐв ваҐЎгҐ¬лҐ ¤Ґ©бвўЁп Ё
б®ў Ї®бл« Ґв б®®ЎйҐЁп б।Ґ.
‘ гзҐв®¬ гЄ § ®© ®б®ЎҐ®бвЁ, ў а §ўЁвЁЁ вҐе®«®ЈЁЁ DDE
¬®¦® ўл¤Ґ«Ёвм ваЁ нв Ї .
1) ЏҐаўл© нв Ї бгйҐбвў®ў Ёп DDE, Є®Ј¤ DDE ॠ«Ё§®ўлў «бп
®б®ўҐ ЇаאַЈ® ®Ў¬Ґ бЁб⥬묨 б®®ЎйҐЁп¬Ё ¬Ґ¦¤г
ЇаЁ«®¦ҐЁп¬Ё.
„«п Ї®бл«ЄЁ б®®ЎйҐЁ© ¬®Јгв Ўлвм ЁбЇ®«м§®ў л бЁб⥬лҐ
дгЄжЁЁ SendMessage (бЁеа® п) Ё PostMessage ( бЁеа® п).
„«п DDE ўл¤Ґ«Ґ бЇҐжЁ «м п ЈагЇЇ б®®ЎйҐЁ©, Ё¬Ґ®:
wm_DDE_Initiate - €ЁжЁЁа®ў вм бҐ б ®Ў¬Ґ ¤ л¬Ё;
wm_DDE_Terminate - ‡ ўҐаиЁвм бҐ б ®Ў¬Ґ ¤ л¬Ё;
wm_DDE_Execute - ‚лЇ®«Ёвм Є®¬ ¤г;
wm_DDE_Ack - Џ®«гзЁвм бв вгб ®ЇҐа жЁЁ;
wm_DDE_Poke - Џ®б« вм ¤ лҐ бҐаўҐаг;
wm_DDE_Request - ‡ Їа®бЁвм ¤ лҐ г бҐаўҐа ;
wm_DDE_Advise - “бв ®ўЁвм бўп§м б бҐаўҐа®¬;
wm_DDE_UnAdvise - ‡ ўҐаиЁвм бўп§м б бҐаўҐа®¬;
wm_DDE_Data - Џ®б« вм ¤ лҐ Є«ЁҐвг.
Џа®Ја ¬¬Ёа®ў ЁҐ ®Ў¬Ґ Ї® ¤ ®© вҐе®«®ЈЁЁ пў«пҐвбп
¤®ў®«м® б«®¦®© § ¤ 祩, з⮠ᤥনў «® а бЇа®бва ҐЁҐ
вҐе®«®ЈЁЁ DDE. Џ®н⮬㠤«п ᮧ¤ Ёп ЇаЁ«®¦ҐЁ©, ॠ«Ё§гойЁе DDE,
Ўл« ᮧ¤ бЇҐжЁ «Ё§Ёа®ў п ®ЎкҐЄв®-®аЁҐвЁа®ў п
ЎЁЎ«Ё®вҐЄ DDEML, пў«пой пбп ¤бва®©Є®© ¤ DDE Ё
ЇаҐ¤®бв ў«пой п API, ®Ў«ҐЈз ойЁ© ᮧ¤ ЁҐ DDE-ЇаЁ«®¦ҐЁ©.
‚¬Ґбв® ҐЇ®б।б⢥®© Ї®бл«ЄЁ DDE-б®®ЎйҐЁ© б Ї®¬®ймо
дгЄжЁ© SendMessage Ё PostMessage ЇаЁ«®¦ҐЁп ЁбЇ®«м§гов дгЄжЁЁ
DDEML.
2) ‚в®а®© нв Ї бгйҐбвў®ў Ёп DDE, Є®Ј¤ DDE-ЇаЁ«®¦ҐЁп
Їа®Ја ¬¬Ёаговбп б Ї®¬®ймо DDEML.
ќв®в нв Ї ¤ «ҐҐ Ўг¤Ґв а бᬮвॠЎ®«ҐҐ Ї®¤а®Ў®. Ћв¬ҐвЁ¬
в®«мЄ®, зв® б Ї®пў«ҐЁҐ¬ DDEML б«®¦®бвм ᮧ¤ Ёп DDE-ЇаЁ«®¦ҐЁ©
㬥миЁ« бм, ® ўбҐ а ў® ®бв ў « бм ҐйҐ ¤®ў®«м® б«®¦®©.
3) ’аҐвЁ© нв Ї бгйҐбвў®ў Ёп DDE ¬®¦® бўп§ вм б Ї®пў«ҐЁҐ¬
ўЁ§г «мле б।бвў а §а Ў®вЄЁ ЇаЁ«®¦ҐЁ©. ’ Є, ЇаЁ¬Ґа, б।
Delphi ЇаҐ¤« Ј Ґв § Є®зҐлҐ Є®¬Ї®Ґвл DDE-Є«ЁҐв Ё
DDE-бҐаўҐа , Є®в®алҐ бЄалў ов ў ᥡҐ ўбҐ д®а¬ «Ё§гҐ¬лҐ нв Їл
дгЄжЁ®Ёа®ў Ёп DDE-ЇаЁ«®¦ҐЁ©, Ё бгйҐб⢥® ®Ў«ҐЈз ов ᮧ¤ ЁҐ
DDE-ЇаЁ«®¦ҐЁ©.
ЌҐ ᬮвап а §ўЁвЁҐ DDE-вҐе®«®ЈЁЁ ў ᮮ⢥вбвўЁҐ б
ЇҐаҐзЁб«Ґл¬Ё в६п нв Ї ¬Ё, бгйҐбвўгов ҐЄ®в®алҐ ®ЎйЁҐ
Є®жҐЇжЁЁ ў ҐҐ § «®¦ҐлҐ, ®бв ойЁҐбп ҐЁ§¬Ґл¬Ё.
Љ § Є®¬бвўг б нвЁ¬Ё Є®жҐЇжЁп¬Ё ¬л Ё ЇҐаҐ©¤Ґ¬.
я3‘Ёб⥬ ¤аҐб жЁЁ ¤ ле
DDE-Їа®в®Є®« ЁбЇ®«м§гҐв ваҐега®ўҐўго бЁб⥬㠤аҐб жЁЁ
ЇҐаҐ¤ ў Ґ¬ле ¤ ле:
Service Name - Ё¬п бҐаўЁб . ‘ ¬л© ўҐаеЁ© га®ўҐм ¤аҐб жЁЁ.
‘ҐаўҐал ¬®Јгв ॠ«Ё§®ўлў вм ҐбЄ®«мЄ® ўЁ¤®ў бҐаўЁб , ®¤ Є® з йҐ
ўбҐЈ® ®¤Ё бҐаўҐа ॠ«Ё§гҐв ®¤Ё ўЁ¤ бҐаўЁб , Ї®н⮬㠢 Є зҐб⢥
Ё¬ҐЁ бҐаўЁб ¬®¦Ґв Ўлвм ЁбЇ®«м§®ў ® Ё¬п ЇаЁ«®¦ҐЁп -
Application.
Topic Name - Ё¬п ⥬л, ®ЇаҐ¤Ґ«по饥 ҐЄ®в®ал© «®ЈЁзҐбЄЁ©
Є®вҐЄбв ¤ ле. „«п бҐаўҐа®ў, а Ў®в ойЁе ®б®ўҐ д ©«®ўле
¤®Єг¬Ґв®ў, Ё¬п ⥬л з йҐ ўбҐЈ® б®ўЇ ¤ Ґв б Ё¬ҐҐ¬ д ©«
¤®Єг¬Ґв .
Item Name - Ё¬п н«Ґ¬Ґв ¤ ле. €¬п н«Ґ¬Ґв Ё¤ҐвЁдЁжЁагҐв
н«Ґ¬Ґв ¤ ле, Є®в®ал© ¬®¦Ґв Ўлвм ЇҐаҐ¤ § ®¤г ва § ЄжЁо.
’а § ЄжЁҐ© Ўг¤Ґ¬ §лў вм б®ЎлвЁҐ ЇҐаҐ¤ зЁ ®¤®Ј® н«Ґ¬Ґв
¤ ле ®в Є«ЁҐв Є бҐаўҐаг Ё«Ё ®в бҐаўҐа Є Є«ЁҐвг.
‚ᥠваЁ га®ўп ®ЇЁблў овбп бва®Є ¬Ё. ‘ва®ЄЁ еа пвбп ў
бЇҐжЁ «м®© Ј«®Ў «м®© в Ў«ЁжҐ. ‘бл«ЄЁ ᮮ⢥вбвўгойЁҐ бва®ЄЁ
§лў овбп ⮬ ¬Ё.
ЋЎ¬Ґ Є®ЄаҐвл¬Ё § 票ﬨ ¤ ле ўбҐЈ¤ б®Їа®ў®¦¤ Ґвбп
гЄ § ЁҐ¬ (пўл¬ Ё«Ё Ґпўл¬) ўбҐе ваҐе га®ўҐ©, Є Є®в®ал¬
®в®бпвбп ЇҐаҐ¤ ў Ґ¬лҐ ¤ лҐ.
я3Љ®жҐЇжЁп дгЄжЁЁ ®вЄ«ЁЄ
Њл 㦥 § Є®¬Ё«Ёбм б Ї®пвЁҐ¬ Їа®жҐ¤гал ®Ўа в®Ј® ўл§®ў ,
в.Ґ. Їа®жҐ¤гал, Є®в®аго ўл§лў Ґв б। ¤«п ®Ї®ўҐйҐЁп ЇаЁ«®¦ҐЁп
® ўлЇ®«ҐЁЁ ҐЄ®в®але ¤Ґ©бвўЁ©.
”гЄжЁп ®вЄ«ЁЄ ў DDE - нв® Ё Ґбвм Їа®жҐ¤га ®Ўа в®Ј®
ўл§®ў . Ћв«ЁзЁҐ ®в а ҐҐ а бᬮваҐле ў аЁ в®ў б®бв®Ёв ў
Ў®«м襩 б«®¦®бвЁ.
DDE-ЇаЁ«®¦ҐЁҐ ®ЇаҐ¤Ґ«пҐв дгЄжЁо ®вЄ«ЁЄ , Є®в®аго Ўг¤Ґв
ўл§лў вм DDEML ў ®вўҐв б®ЎлвЁп, ў®§ЁЄ ойЁҐ ЇаЁ ᮧ¤ ЁЁ
ᮥ¤ЁҐЁп ¬Ґ¦¤г ЇаЁ«®¦ҐЁп¬Ё, ЇаЁ ®Ў¬ҐҐ ¤ л¬Ё Ё ЇаЁ
а §кҐ¤ЁҐЁЁ. DDEML ЇҐаҐ¤ Ґв ў нвг дгЄжЁо ®¬Ґа ва § ЄжЁЁ,
дгЄжЁп Ї® н⮬㠮¬Ґаг ўлЇ®«пҐв § Їа®Ја ¬¬Ёа®ў лҐ ¤Ґ©бвўЁп.
ЌЁ¦Ґ ЇаҐ¤бв ў«Ґ ЇаЁ¬Ґа п бвагЄвга дгЄжЁЁ ®вЄ«ЁЄ :
Function CallBackProc(CallType : Word;
Fmt : Word;
Conv : HConv;
HSz1 : HSZ;
HSz2 : HSZ;
Data : HDDEData) : HDDEData;
Begin
CallBackProc := 0;
Case CallType Of
xtyp_... : Begin
{ॠЄжЁп ᮮ⢥вбвўгойго ва § ЄжЁо}
End;
Else
End {Case};
End {CallBackProc};
Ј¤Ґ CallType - вЁЇ ва § ЄжЁЁ;
Fmt - д®а¬ в ¤ ле, «®ЈЁзл© д®а¬ в ¬ ¤ ле Clipboard;
‘onv - ббл«Є Є «;
HSz1 - ббл«Є бва®Єг; {нв® Ё«Ё Ї а (‘ҐаўЁб, ’Ґ¬ ) Ё«Ё}
HSz2 - ббл«Є бва®Єг; {Ї а (’Ґ¬ , ќ«Ґ¬Ґв)}
Data - ббл«Є ЇҐаҐ¤ ў Ґ¬лҐ Ё«Ё ЇаЁЁ¬ Ґ¬лҐ ¤ лҐ.
я3ќв Їл дгЄжЁ®Ёа®ў Ёп DDE-ЇаЁ«®¦ҐЁп
„Ґ©бвўЁп, Є®в®алҐ ўлЇ®«пҐв DDE-ЇаЁ«®¦ҐЁҐ ў вҐзҐЁҐ бў®ҐЈ®
¦Ё§Ґ®Ј® жЁЄ« , а §«Ёз овбп ў § ўЁбЁ¬®бвЁ ®в в®Ј®, пў«пҐвбп нв®
ЇаЁ«®¦ҐЁҐ бҐаўҐа®¬ Ё«Ё Є«ЁҐв®¬. Џ®н⮬г нв Їл дгЄжЁ®Ёа®ў Ёп
DDE-бҐаўҐа Ё DDE-Є«ЁҐв а бᬮваЁ¬ а §¤Ґ«м®.
я1€ЁжЁ «Ё§ жЁп бҐаўҐа
€ЁжЁ «Ё§ жЁп бҐаўҐа ўЄ«оз Ґв ў ᥡп б«Ґ¤гойЁҐ нв Їл:
1) ђҐЈЁбва жЁп дгЄжЁЁ ®вЄ«ЁЄ ў б।Ґ. ќв® ¤Ґ« Ґвбп б
Ї®¬®ймо бЁб⥬®© дгЄжЁЁ, Ё¬Ґо饩 б«Ґ¤го饥 Ё¬п:
MakeProcInstance(...).
”гЄжЁЁ MakeProcInstance ЇҐаҐ¤ Ґвбп ¤аҐб дгЄжЁЁ ®вЄ«ЁЄ ,
® ў®§ўа й Ґв § ॣЁбваЁа®ў л© гЄ § ⥫м дгЄжЁо ®вЄ«ЁЄ .
‚ ¤ «мҐ©иҐ¬ Є дгЄжЁЁ ®вЄ«ЁЄ ¬®¦® ®Ўа й вмбп в®«мЄ® зҐаҐ§
нв®в § ॣЁбваЁа®ў л© гЄ § ⥫м.
2) ђҐЈЁбва жЁп бҐаўҐа ў DDEML. ќв® ¤Ґ« Ґвбп б Ї®¬®ймо
дгЄжЁЁ DDEML, Ё¬Ґо饩 б«Ґ¤го饥 Ё¬п:
DDEInitialize(...).
”гЄжЁЁ DDEInitialize ЇҐаҐ¤ Ґвбп § ॣЁбваЁа®ў л©
гЄ § ⥫м дгЄжЁо ®вЄ«ЁЄ , ў®§ўа й Ґв ® Ё¤ҐвЁдЁЄ в®а
ЇаЁ«®¦ҐЁп Є Є DDE-ЇаЁ«®¦ҐЁп Ё Є®¤ ®иЁЎЄЁ ॣЁбва жЁЁ.
3) ђҐЈЁбва жЁп "бҐаўЁб ", ЇаҐ¤®бв ў«пҐ¬®Ј® бҐаўҐа®¬. ќв®
¤Ґ« Ґвбп б Ї®¬®ймо дгЄжЁЁ DDEML, Ё¬Ґо饩 б«Ґ¤го饥 Ё¬п:
DDENameService(...).
”гЄжЁЁ DDENameService ЇҐаҐ¤ овбп Ё¤ҐвЁдЁЄ в®а
DDE-ЇаЁ«®¦ҐЁп Ё бва®Є б Ё¬ҐҐ¬ бҐаўЁб , б ¬ дгЄжЁп
ў®§ўа й Ґв Є®¤ ®иЁЎЄЁ ॣЁбва жЁЁ.
Џ®б«Ґ ўлЇ®«ҐЁп ЇҐаҐзЁб«Ґле нв Ї®ў ЁЁжЁ «Ё§ жЁп бҐаўҐа
§ Є зЁў Ґвбп Ё ® ЇҐаҐе®¤Ёв ў ०Ё¬ ®¦Ё¤ Ёп § Їа®б®ў ®в
Є«ЁҐв®ў.
я1€ЁжЁ «Ё§ жЁп Є«ЁҐв
€ЁжЁ «Ё§ жЁп Є«ЁҐв ўЄ«оз Ґв ў ᥡп б«Ґ¤гойЁҐ нв Їл:
1) ђҐЈЁбва жЁп дгЄжЁЁ ®вЄ«ЁЄ ў б।Ґ. ќв® ¤Ґ« Ґвбп
«®ЈЁз® ॣЁбва жЁЁ дгЄжЁЁ ®вЄ«ЁЄ бҐаўҐа .
2) ђҐЈЁбва жЁп Є«ЁҐв ў DDEML. ќв® в Є¦Ґ ¤Ґ« Ґвбп
«®ЈЁз® ॣЁбва жЁЁ бҐаўҐа .
3) ‘®§¤ ЁҐ Є « бўп§Ё ¬Ґ¦¤г Є«ЁҐв®¬ Ё бҐаўҐа®¬.
‘®§¤ ЁҐ Є « ўлЇ®«пҐвбп в®«мЄ® Ї® ЁЁжЁ вЁўҐ Є«ЁҐв Ё
®бгйҐбвў«пҐвбп б Ї®¬®ймо ўл§®ў дгЄжЁЁ, Ё¬Ґо饩 б«Ґ¤го饥 Ё¬п:
DDEConnect(...).
”гЄжЁЁ DDEConnect ЇҐаҐ¤ овбп бва®ЄЁ б Ё¬Ґ ¬Ё бҐаўЁб Ё
⥬л, в Є¦Ґ § ॣЁбваЁа®ў л© Ё¤ҐвЁдЁЄ в®а DDE-Є«ЁҐв .
‚ б«гз Ґ гбЇҐи®Ј® ўлЇ®«ҐЁп дгЄжЁп ў®§ўа й Ґв
ЇаЁ«®¦ҐЁо-Є«ЁҐвг ббл«Єг ᮧ¤ л© Є « бўп§Ё.
ќв Ї®¬ ᮧ¤ Ёп Є « § Є зЁў Ґвбп ЁЁжЁ «Ё§ жЁп Є«ЁҐв Ё
Ї®пў«пҐвбп ў®§¬®¦®бвм ®Ў¬Ґ ¤ л¬Ё ¬Ґ¦¤г Є«ЁҐв®¬ Ё бҐаўҐа®¬.
ќв Їл ЁЁжЁ «Ё§ жЁЁ бҐаўҐа , ЇҐаҐзЁб«ҐлҐ ўлиҐ, ўлЇ®«повбп
ЎҐ§ Є Є®Ј®-«ЁЎ® гз бвЁп б® бв®а®л Є«ЁҐв , Є«ЁҐв ¤ ¦Ґ ¬®¦Ґв
Ўлвм ў®®ЎйҐ Ґ § Ја㦥.
Џ®б«Ґ¤Ё© нв Ї ЁЁжЁ «Ё§ жЁЁ Є«ЁҐв - ᮧ¤ ЁҐ Є « бўп§Ё
- ўлЇ®«пҐвбп ЇаЁ гз бвЁЁ бҐаўҐа .
‘®§¤ ЁҐ Є « - б«®¦ п Їа®жҐ¤га , ўЄ«оз ой п б«Ґ¤гойго
Ї®б«Ґ¤®ў ⥫м®бвм ¤Ґ©бвўЁ©.
ЏаЁ ўл§®ўҐ Є«ЁҐв®¬ дгЄжЁЁ DDEConnect, DDEML Ї®бл« Ґв
ва § ЄжЁо xtyp_Connect ўбҐ¬ бҐаўҐа ¬, § ॣЁбваЁа®ў ўиЁ¬
ваҐЎгҐ¬л© бҐаўЁб.
”гЄжЁп ®вЄ«ЁЄ Є ¦¤®Ј® бҐаўҐа , ў Є зҐб⢥ ॠЄжЁЁ нвг
ва § ЄжЁо, Їа®ўҐапҐв г бҐЎп ў®§¬®¦®бвм Ї®¤¤Ґа¦ЄЁ § ¤ ле
бҐаўЁб Ё ⥬л, Ё Ґб«Ё бҐаўҐа Ї®¤¤Ґа¦Ёў Ґв Ёе, в® ® ў®§ўа й Ґв ў
DDEML ᮮ⢥вбвўгойЁ© ЇаЁ§ Є (1) ЇаЁ § ўҐа襨Ё ўлЇ®«ҐЁп
дгЄжЁЁ ®вЄ«ЁЄ . ќв® ®§ з Ґв, зв® Є « ¬Ґ¦¤г Є«ЁҐв®¬ Ё
бҐаўҐа®¬ ¬®¦Ґв Ўлвм ᮧ¤ .
Џ®«гзЁў ®¦Ё¤ Ґ¬л© ЇаЁ§ Є ®в дгЄжЁЁ ®вЄ«ЁЄ бҐаўҐа , DDEML
§ ўҐаи Ґв ўлЇ®«ҐЁҐ дгЄжЁЁ DDEConnect Є«ЁҐв , ў®§ўа й п
Ґ¬г Ё¤ҐвЁдЁЄ в®а Є « .
ЏаЁ н⮬ DDEML ЇҐаҐ¤ Ґв бҐаўҐаг ®ўго ва § ЄжЁо
xtyp_Connect_Confirm Ё Ё¤ҐвЁдЁЄ в®а ᮧ¤ ®Ј® Є « Їг⥬
Ї®ўв®а®Ј® ўл§®ў ҐЈ® дгЄжЁЁ ®вЄ«ЁЄ .
’ ЄЁ¬ ®Ўа §®¬ Ё Є«ЁҐв Ё бҐаўҐа Ї®«гз ов Ё¤ҐвЁдЁЄ в®а
®¤®Ј® Ё в®Ј® ¦Ґ Є « , Ї®б«Ґ 祣® ᮥ¤ЁҐЁҐ бзЁв Ґвбп
гбв ®ў«Ґл¬ Ё Ї®пў«пҐвбп ў®§¬®¦®бвм ®Ў¬Ґ ¤ л¬Ё.
я1ЋЎ¬Ґ ¤ л¬Ё
’аЁ ў аЁ в ®Ў¬Ґ ¤ л¬Ё ¬®Јгв Ўлвм ॠ«Ё§®ў л б Ї®¬®ймо
DDE-вҐе®«®ЈЁЁ.
1) ЏҐаҐ¤ з ¤ ле ®в бҐаўҐа Є Є«ЁҐвг Ї® § Їа®бг
Ї®б«Ґ¤ҐЈ®.
2) ЏҐаҐ¤ з ¤ ле ®в Є«ЁҐв бҐаўҐаг.
3) ЏҐаҐ¤ з ¤ ле ®в бҐаўҐа Є Є«ЁҐвг ЎҐ§ § Їа®б ®в
Ї®б«Ґ¤ҐЈ® ЇаЁ Ё§¬ҐҐЁпе ¤ ле.
‚ᥠ¤Ґ©бвўЁп Ї® ®Ў¬Ґг ¤ л¬Ё б® бв®а®л Є«ЁҐв
ўлЇ®«повбп б Ї®¬®ймо дгЄжЁЁ
DDEClientTransaction(...).
ќв®© дгЄжЁЁ ЇҐаҐ¤ овбп Ё¤ҐвЁдЁЄ в®а Є « , вЁЇ ва § ЄжЁЁ
Ё ¤агЈЁҐ ¤ лҐ, ®ЇаҐ¤Ґ«пҐ¬лҐ нвЁ¬ вЁЇ®¬. Ќ ЇаЁ¬Ґа, Ё¬п н«Ґ¬Ґв ,
д®а¬ в ¤ ле, ¤аҐб ¤ ле.
я2ЏҐаҐ¤ з ¤ ле ®в бҐаўҐа Ї® § Їа®бг ®в Є«ЁҐв
„«п Ї®«гзҐЁп ¤ ле ®в бҐаўҐа Ї® § Їа®бг, Є«ЁҐв ўл§лў Ґв
дгЄжЁо DDEClientTransaction, Ї®бл« п ва § ЄжЁо xtyp_Request ў
DDEML.
‚ б«гз Ґ гбЇҐи®Ј® § ўҐа襨п ва § ЄжЁЁ, дгЄжЁп ў®§ўа й Ґв
ббл«Єг § Їа иЁў Ґ¬лҐ ¤ лҐ, 室пйЁҐбп ў ®Ў« бвЁ Ј«®Ў «м®©
Ї ¬пвЁ. ќвЁ ¤ лҐ ¤®«¦л Ўлвм Їа®зЁв л Є«ЁҐв®¬ ў «®Є «мго
Ї ¬пвм б Ї®¬®ймо ўл§®ў дгЄжЁЁ
DDEGetData(...),
Є®в®а®© ЇҐаҐ¤ овбп ббл«Є Ј«®Ў «мго Ї ¬пвм, ᮤҐа¦ йго
¤ лҐ, Ё гЄ § вҐ«м ЎгдҐа ў «®Є «м®© Ї ¬пвЁ.
Џ®б¬®ваЁ¬ ⥯Ґам, Є Є ॠЈЁагҐв ва § ЄжЁо xtyp_Request
бҐаўҐа.
DDEML ЇҐаҐ¤ Ґв нвг ва § ЄжЁо бҐаўҐаг, ўл§лў п ҐЈ® дгЄжЁо
®вЄ«ЁЄ . Ља®¬Ґ вЁЇ ва § ЄжЁЁ, DDEML ЇҐаҐ¤ Ґв бҐаўҐаг д®а¬ в
¤ ле Ё Ё¬Ґ вҐ¬л Ё н«Ґ¬Ґв .
…б«Ё бҐаўҐа Ї®¤¤Ґа¦Ёў Ґв § Їа иЁў Ґ¬лҐ д®а¬ в, ⥬㠨
н«Ґ¬Ґв, в® ® дгЄжЁҐ© ®вЄ«ЁЄ ў®§ўа й Ґв ббл«Єг вॡ㥬лҐ
¤ лҐ.
ќв ббл«Є д®а¬ЁагҐвбп ЇаЁ ўл§®ўҐ дгЄжЁЁ
DDECreateDataHandle(...),
Є®в®а п § Їа иЁў Ґв Ў«®Є Ј«®Ў «м®© Ї ¬пвЁ Ё ЇҐаҐЇЁблў Ґв ў ҐЈ®
¤ лҐ Ё§ «®Є «м®Ј® ЎгдҐа .
Соседние файлы в папке Операционные среды АСОИУ