Создание и использование DLL. DLL (динамические библиотеки) содержат дополнительные Привязка Dll к программе. Это наиболее простой метод работы с Dll, но он имеет один существенный недостаток.


Чтобы посмотреть этот PDF файл с форматированием и разметкой, скачайте файл и откройте на своем компьютере.
���!740=85 8 8A?;L720=85 DLL DLL ( &#x8G;Z&#x:8;&#x5 ;;€48=08G5A:85 181;8B5:8 ����) A45@60B 4?;=8B5;L=K5 DC=:F88 8;8 A;6=K5 ����181;8B5:8 4;O ?@51@0720=8O 871@065=89. "0:65 2 DLL ������ 6= E@0=8BL =5 B;L: DC=:F88 8 ?@F54C@K, = B0:65 8 @5AC@AK ������(2A5276=K5 871@065=8O, 8:=:8, AB@:8 8 B.4.).  B0:65 D@K, ?;038=K. ����@0B:5 ?8A0=85 DC=:F89 8 ?@8Q2 @01BK A Dll &#x 4; &#x A;&#x?0;&#x 4; &#x A;&#x?0;&#x 4; &#x A;&#x?0; 0715@Q 420 A?A10 @01BK A Dll: ��1 A?A1 �@82O7:0 Dll : ?@3@05 ����[�[�-B =081;55 ?@AB9 5B4 @01BK A Dll ��U&#xB ;�U&#xB ;�U&#xB ;�, = = 855B 48= ACI5AB25==K9 =54AB0B:. ���&#x0 ;&#x=5;&#x 7;&#x0?;ʸº&#xO,;&#x ?;&#x@0;&#x0 ;&#x=5;&#x 7;&#x0?;ʸº&#xO,;&#x ?;&#x@0;&#x0 ;&#x=5;&#x 7;&#x0?;ʸº&#xO,;&#x ?;&#x@0;A;8 181;8B5:0 =5 1C45B =0945=0, B ?@3@00 =5 70?CAB8BAO, ?@AB 2K4020O H81:C ��&#x, ;&#xGB;�� B, GB =5 65B =09B8 Dll ���&#x :;�;�. 8A: 254QBAO, 2 :@=52 :0B0;35, 2 B5:CI5, 2 ?0?:5 ��C:WindowsSystem, ? C:070==C 04@5AC 8 B.4. �1I0O D@0 ?@8Q0: implementation ... function FunctionName(Par1: Par1Type; Par2: Par2Type; ...): ReturnType; stdcall; external 'DLLNAME.DLL' name 'FunctionName' index FuncIndex; �� 5A;8 MB =5 DC=:F8O, 0 ?@F54C@0? procedure ProcedureName(Par1: Par1Type; Par2: Par2Type; ...); stdcall; external 'DLLNAME.DLL' name 'ProcedureName' index ProcIndex; FunctionName ( ProcedureName &#xO ;Ü&#x=:;ø&#x8 ;;&#x8 ;&#x?@;�&#xO ;Ü&#x=:;ø&#x8 ;;&#x8 ;&#x?@;�&#xO ;Ü&#x=:;ø&#x8 ;;&#x8 ;&#x?@;�) - 8O DC=:F88 8;8 ?@F54C@K, :B@0O 1C45B ���8A?;L720BLAO 2 ?@3@05. Par1, Par2 �[&#x@0;[&#x@0;[&#x@0;[&#x@0;[&#x@0; ... - A?8A: ?0@05B@2, :B@K5 1C4CB 8A?;L720BLAO 2 �DC=:F88(?@F54C@5). ReturnType ���� - 272@0I055 7=0G5=85, B;L: 4;O DC=:F88. stdcall ��������� - 48@5:B820, :B@0O 4;6=0 BG= A2?040BL A 8A?;L7C59 2 A09 DLL. 1 / 6 ���!740=85 8 8A?;L720=85 DLL external - 48@5:B820, C:07K20NI0O =0 Dll ���&#x?0;&#x?0; 87 :B@9 1C45B 8?@B8@20=0 DC=:F8O ��8;8 ?@F54C@0(2 40== A;CG05 DllName.Dll. Name &#xO ;&#x:0;&#xO ;&#x:0;&#xO ;&#x:0;&#xO ;&#x:0;&#xO ;&#x:0; - 48@5:B820, C:07K20NI0O =0 8O :=:@5B=9 DC=:F88, :B@0O 4;6=0 1KBL &#x?0;&#x?0;&#x?0;8?@B8@20=0 87 =C6=9 Dll ��. -B0 48@5:B820 O2;O5BAO =51O70B5;L=9. index ������� - -B 5IQ 4=0 =51O70B5;L=0O 48@5:B820, :B@0O C:07K205B ?@O4:2K9 �&#x5@;&#x D;&#xC=;&#x:F;ˆ&#x?;&#[email protected]00;=5@ DC=:F88(?@F54C@K) 2 Dll. ��2 A?A1 8=08G5A:0O 703@C7:0 Dll ����[�[�[�[�[�5AB@O =0 B, GB MBB 5B4 1;55 A;6=K9, = O2;O5BAO, =081;55 M;530=B=K. �������������&#x :;�&#x :;�&#x :;�%@H B, GB = ;8HQ= =54AB0B:0 ?5@23 A?A10, = 1JQ :40 =51E48K9 4;O ���&#x A;&#x;0;&#x A;&#x;0;&#x A;&#x;0;&#x, ;&#xGB;�MB3 20@80=B0 ?@0605B @075@08, , ?@8G5 A;6=ABL 2 B, GB DC=:F8O, &#x?0;8?@B8@C50O 87 DLL ��� 4ABC=0 ;8HL B340, :340 MB0 DLL � 703@C65=0 8 =0E48BAO 2 &#xOB;&#x8.;&#x ;�;U&#x A;&#x;5;L[&#x, ;&#x:@;&#x:0;&#xOB;&#x8.;&#x ;�;U&#x A;&#x;5;L[&#x, ;&#x:@;&#x:0;&#xOB;&#x8.;&#x ;�;U&#x A;&#x;5;L[&#x, ;&#x:@;&#x:0;[�[�?0OB8. 0;55 A;54C5B, :@0B:5 ?8A0=85 DC=:F89 API 8A?;L7C5KE MB8 5B4. LoadLibrary(LibFileName: PChar) � - 03@C7:0 C:070==9 Dll &#xOB;&#xL.;&#x ;&#x@8;&#x C;&#xA?;&#x5H;&#x=0; 2 ?0OBL. @8 CA?5H= ���7025@H5=88 ?5@0F88, 272@0I05BAO 45A:@8?B@ THandle ��MB9 181;8B5:8. GetProcAddress(Module: THandle; ProcName: PChar) - AG8BK205B 04p5A ������M:A?pB8p20==9 181;8B5G=9 DC=:F88. @8 CA?5H= 7025@H5=88 DC=:F8O ��272@0I05B 45A:@8?B@ TFarProc �DC=:F88 2 703@C65==9 DLL . FreeLibrary(LibModule: THandle) &#x M;°� - 45;05B =5459AB28B5;L=K MBB 4C;L 8 ���&#xOB;&#xL.;&#x ;�&#xOB;&#xL.;&#x ;�&#xOB;&#xL.;&#x ;�&#xOB;&#xL.;&#x ;�A216405B A2O70==CN A =8 ?0OBL. A;5 2K720 MB9 DC=:F88, DC=:F88 181;8B5:8 �=54ABC?=K. �� B5?5@L A05 3;02=5,   +... @85@ 1 �@82O7:0 Dll : ?@3@05 2 / 6 ���!740=85 8 8A?;L720=85 DLL ����� { 45AL 845B 703;2: D09;0 8 ?@545;5=85 D@K TForm1 8 55 M:75?;O@0 &#x 2;&#x=5;&#xH=;&#xNN;&#x 1;&#x;8;�Form1 } implementation { ?@545;O5 2=5H=NN 181;8B5G=CN DC=:F8N } function GetSimpleText(LangRus: Boolean): PChar; stdcall; external 'MYDLL.DLL'; procedure �Button1Click(Sender: TObject); begin { 8A?;L7C5 55} ShowMessage(StrPas(GetSimpleText(True))); ����ShowMessage(StrPas(GetSimpleText(False))); { ShowMessage - ?:07K205B 480;325 �����:= A C:070==9 =04?8ALN; StrPas - ?@51@07C5B AB@:C PChar 2 string } end; ������&#x A;&#x?0;&#x A;&#x?0;&#x A;&#x?0;&#x;&#x 3;�&#x 3;�&#x 3;�"5?5@L B-65 A05, = B;L: 2B@K A?A1(=8B5 O 20 32@8; ?@ 
¨&#x2=;�
¨&#x2=;�0AA82=ABL :40?)... @85@ 2 8=08G5A:0O 703@C7:0 Dll ����� {... 45AL 845B 703;2: D09;0 8 ?@545;5=85 D@K TForm1 8 55 M:75?;O@0 Form1 } var Form1: TForm1; GetSimpleText: function(LangRus: Boolean): PChar; LibHandle: THandle; procedure Button1Click(Sender: TObject); begin { "'8AB8" 04@5A �&#xAO;&#x 7;&#x@C;x&#xBL;&#x 1;&#x;8;�DC=:F88 B "3@O78" } @GetSimpleText := nil; { KB05AO 703@C78BL 181;8B5:C } �LibHandle := LoadLibrary('MYDLL.DLL'); { A;8 2A5 OK } if LibHandle = 32 then begin { �&#xAO;&#x ?;�&#xAO;&#x ?;�...B ?KB05AO ?;CG8BL 04@5A DC=:F88 2 181;8B5:5 } @GetSimpleText := GetProcAddress(LibHandle, 'GetSimpleText'); { A;8 8 745AL 2A5 OK } if �&#x M;¼&#x D;&#xC=;&#x:F;&#x8N;&#x 8;&#x ?;�@GetSimpleText nil then { ...B 2K7K205 MBC DC=:F8N 8 ?:07K205 @57C;LB0B } &#x 0;&#x 0;&#x 0;ShowMessage(StrPas(GetSimpleText(True))); end; {  =5 701K205 A2148BL ?0OBL 8 2K3@C78BL DLL } FreeLibrary(LibHandle); end; ��[�[�[�[�[�&#x0N;&#x A;&#x@0;|&#x..;&#x. ;&#x 4;&#x0 ;&#x;0;&#x4=;�&#x0N;&#x A;&#x@0;|&#x..;&#x. ;&#x 4;&#x0 ;&#x;0;&#x4=;��B;8G8O ?5@23 5B40 B 2B@3 284=K O 4C0N A@07C... C 40 ;04=, ?AB@8 &#xC ;;€B5?5@L =0 A0C 181;8B5:C. @85@ 3 ��AE4=8: ?@5:B0 MyDll.dpr. library mydll; uses SysUtils, Classes; { ?@545;O5 DC=:F8N :0: stdcall } function ��GetSimpleText(LangRus: Boolean): PChar; stdcall; begin {  7028A8AB8 B LangRus �&#x @;Ê&#xA:;&#xCN;&#x ;&#xTr;&#xue;&#x ;&#x ;&#x ;&#x ;;�272@0I05 @CAA:CN (True) ;81 0=3;89A:CN (False) D@07C } if LangRus then Result := PChar('4@02AB2C9, 8@!') else Result := PChar('Hello, world!'); end; { 8@5:B820 exports ���C:07K205B, :0:85 DC=:F88 1C4CB M:A?@B8@20=K MB9 DLL } exports GetSimpleText; begin end. �0: C65 ?8A0;AL 2KH5, 2 Dll ��&#x5I;&#xL ;&#x=5;&#x B;�&#x5I;&#xL ;&#x=5;&#x B;�&#x5I;&#xL ;&#x=5;&#x B;�&#x5I;&#xL ;&#x=5;&#x B;� 6= @075I0BL =5 B;L: DC=:F88, = 8 8:=:8, �&#x5=;&#xN ;&#x8 ;&#xB.;&#x4.;&#x ;&#x@8;%&#x4Q;&#x==;�&#x5=;&#xN ;&#x8 ;&#xB.;&#x4.;&#x ;&#x@8;%&#x4Q;&#x==;�&#x5=;&#xN ;&#x8 ;&#xB.;&#x4.;&#x ;&#x@8;%&#x4Q;&#x==;�&#x, ;&#x:0;&#x: ;&#xMB;�:C@A@K, @8AC=:8, 5=N 8 B.4. @8254Q==5 =865 ?8A0=85 ?:065B 20, :0: MB �����&#x5I;&#x5=;&#x8O;&#x @;Z&#xC@; A45;0BL. ;O =0G0;0 ?8HC 2AQ ??4@1=55. ;O ?5I5=8O @5AC@A2 2 Dll �=C6=: 3 / 6 ���!740=85 8 8A?;L720=85 DLL - *.RES �� D09; A =51E48K8 @5AC@A08. - �AE4=8: Dll �, :C40 4102;O5. - �&#x?8;&#x;8;&#x@0;!:?8;8@20BL Dll , 2:;NG0O *.RES . �����"5?5@L, B65, = ??4@1=55: 1. &#x5=;L&#xN ; &#x5=;L&#xN ; &#x5=;L&#xN ;  5:C5=4CN A740BL :0:9-=81C4L :0B0;3 2 ?0?:5 %Delphi%Bin, =0?@85@ MyDllTest. 2. *.RES �� D09; A =51E48K8 @5AC@A08. &#x B;&#xor;&#xla;&#xnd;&#xIm;&#xag;î&#xdi;&#xto;&#xr.;&#x F;&#xil;&#xe ;&#x-0;&#x B;&#xor;&#xla;&#xnd;&#xIm;&#xag;î&#xdi;&#xto;&#xr.;&#x F;&#xil;&#xe ;&#x-0;&#x B;&#xor;&#xla;&#xnd;&#xIm;&#xag;î&#xdi;&#xto;&#xr.;&#x F;&#xil;&#xe ;&#x-0;&#x B;&#xor;&#xla;&#xnd;&#xIm;&#xag;î&#xdi;&#xto;&#xr.;&#x F;&#xil;&#xe ;&#x-0;&#x B;&#xor;&#xla;&#xnd;&#xIm;&#xag;î&#xdi;&#xto;&#xr.;&#x F;&#xil;&#xe ;&#x-0;0) 0?CA:05 BorlandImageEditor. File - New - Resource File (*.res). A;5 MB3 Resource ���&#x 4;&#x0=;&#x=K;&#x9 ;Ð	;&#x 2;&#x :;�;�- New - [B8? @5AC@A0]. !E@0=O5 40==K9 D09; 2 :0B0;35 MyDllTest. 0?@85@ MyRes. res . �1) ?8;8@C5 *.res �� D09; ?@8 ?I8 brcc32.exe 87 %Delphi%Bin: brcc32.exe mydll.txt, �?@5420@8B5;L= 70?8A02 2 myres.txt � ?@81;878B5;L= B0:CN �8=D@0F8N: { ---[ Myres.txt ]--- } FlyFold AVI "C:WindowsFlyFolders.avi" CoolPic BITMAP "C:MyBitmapsmyPhoto.bmp" MyDta RCDATA "C:myfile.dta" { ---[ MyRes.txt ]--- } ��45AL ?5@25 ?;5 - =0720=85 @5AC@A0 2 *.res D09;5(8 2 Dll ����� AB25BAB25==), 2B@5 - �53 B8? ( �ICON, BITMAP 8 Z°Z°Z°Z°B.4.). "@5BL5 - 5AB=0E645=85 D09;0, A45@60I53 40==K9 @5AC@A. &#x ?;�5@55I05 ?;CG5==K9 *.res � 2 :0B0;3 MyDllTest. �AE4=8: Dll �&#x ;&#x :;�;�&#x ;&#x :;�;�&#x D;	&#x; ;
;T&#xCN;&#xI5;0, :C40 4102;O5  :0B0;35 MyDllTest A740Q D09; A;54CNI53 ������A45@60=8O (5A;8 =5B 3B23 8AE4=8:0): { ---[ MyDll.pas ]--- } library mylib; {$R MyRes.RES} begin end { ---[ MyDll.pas ]--- } �?8;8@C5 Dll , 2:;NG0O *.res . 4 / 6 ���!740=85 8 8A?;L720=85 DLL ���&#x0=;&#x4=;�&#x0=;&#x4=;�0E4OAL 2 :0B0;35 %Delphi%Bin, =01@0BL 2 :0=4=9 AB@:5: dcc32.exe MyDllTestmydll.pas B:@KBL Dll 87 Delphi 8 =060BL build .  075I5=85 2 DLL �� @5AC@A2 8 D@.  DLL ��&#x5I;&#xL ;&#x=5;&#x B;�&#x5I;&#xL ;&#x=5;&#x B;�&#x5I;&#xL ;&#x=5;&#x B;� 6= @075I0BL =5 B;L: DC=:F88, = 8 ��&#x5=;&#xN,;&#x B;&#x5:;«�&#x5=;&#xN,;&#x B;&#x5:;«�:C@A@K, @8AC=:8, 8:=:8, 5=N, B5:AB2K5 AB@:8. �&#xK ;�&#x5G;&#xC ;&#x;8;&#xHL;&#x, ;&#xGB;�&#x5G;&#xC ;&#x;8;&#xHL;&#x, ;&#xGB;�0 MB K AB0=02;820BLAO =5 1C45. 05GC ;8HL, GB 4;O 703@C7:8 @5AC@A0 =C6= 703@C78BL DLL &#x, ;&#x?0;&#x, ;&#x?0;&#x @;Z&#xC@;&#xA ; &#x @;Z&#xC@;&#xA ; , 0 70B5, ?;CG82 55 45A:@8?B@, - 703@C60BL A0 @5AC@A AB25AB2CNI59 DC=:F859 ( LoadIcon, LoadCursor , 8 B.4.). �&#x=0;&#x=0;&#x=0;&#x5I;&#x5=;…&#x 2;&#x 1;&#x;8;� MB @0745;5 K ;8HL =5=3 70B@=5 @075I5=85 2 181;8B5:0E DLL �� := ��&#x 2;&#x ;;&#xLD;&#x. ;&#x;;&#xO ;&#xMB;&#x 2;&#x ;;&#xLD;&#x. ;&#x;;&#xO ;&#xMB;&#x 2;&#x ;;&#xLD;&#x. ;&#x;;&#xO ;&#xMB;&#x 2;&#x ;;&#xLD;&#x. ;&#x;;&#xO ;&#xMB;&#x 2;&#x ;;&#xLD;&#x. ;&#x;;&#xO ;&#xMB;?@8;65=8O (B.5. D@ 2 5;LD8). ;O MB3 =C6= A740BL =2CN DLL ���&#xC ;&#xil; ;&#x-00;&#xC ;&#xil; ;&#x-00;&#x -;&#x F;&#xil;&#xe ;&#x-0;8 41028BL 2 =55 =2CN D@C (File - New - DLL, 0 70B5 - File - New Form). �&#x0 ;&#x?@;T«&#x;O;[&#x A;�&#x0 ;&#x?@;T«&#x;O;[&#x A;�&#x0 ;&#x?@;T«&#x;O;[&#x A;�&#x0 ;&#x?@;T«&#x;O;[&#x A;�&#x0 ;&#x?@;T«&#x;O;[&#x A;�&#x0 ;&#x?@;T«&#x;O;[&#x A;�&#x0 ;&#x?@;T«&#x;O;[&#x A;���0;55, 5A;8 D@0 ?@54AB02;O5B A19 480;325 := (40;L=CN D@C ( bsDialog )), ��B 4102;O5 2 DLL �&#x, ;ÐA;54CNICN DC=:F8N (4?CAB8, D@0 =07K205BAO Form1 , 0 55 :;0AA - TForm1 ): @85@ 3 &#x5I;&#x5=;…&#x D;� 075I5=85 D@K 2 Dll function ShowMyDialog(Msg: PChar): Boolean; stdcall; exports ShowMyDialog; function �&#x?;;&#xO@;&#x F;&#xor;&#xm1;&#x D;�ShowMyDialog(Msg: PChar): Boolean; begin { !7405 M:75?;O@ Form1 D@K TForm1 �} Form1 := TForm1.Create(Application); {  Label1 2K248 Msg } Form1.Label1.Caption �&#x T;&#xru;&#xe ;°&#x T;&#xru;&#xe ;°:= StrPas(Msg); { 72@0I05 True B;L: 5A;8 =060B0 OK (ModalResult = mrOk) } ��Result := (Form1.ShowModal = mrOk); { A216405 ?0OBL } Form1.Free; end; �A;8 65 =C6= @075AB8BL 2 DLL ��&#xC,;&#x B;�&#xC,;&#x B;�&#xC,;&#x B;�� =540;L=CN D@C, B =51E48 A45;0BL 425 5 / 6 ���!740=85 8 8A?;L720=85 DLL ��&#xK.;&#x ;&#x@8;&#x M;°&#x =;Æ&#x=0;DC=:F88 - B:@KB8O 8 70:@KB8O D@K. @8 MB =C6= 70AB028BL DLL �&#x=8;&#xBL;&#x 4;Z&#x:@;&#x8?;°&#x=8;&#xBL;&#x 4;Z&#x:@;&#x8?;°&#x=8;&#xBL;&#x 4;Z&#x:@;&#x8?;°70?=8BL 45A:@8?B@ MB9 D@K. ��&#x ?;�&#x ?;�&#x ?;�!740=85 ?;038=2 45AL K =5 1C45 ?4@1= @0AA0B@820BL ?;038=K, B.:. C65 &#x5@;&#xK ;&#x?0;�&#x ;;S&#x:0;&#x ;;S&#x:0;&#x ;;S&#x:0;?@82545==K5 2KH5 ?@85@K ?3CB 0 ;53: @071@0BLAO 2 ;L28=9 G0AB8 �&#x8@;�?@3@08@20=8O DLL . �&#x=N;&#x ;;&#x8H;&#xL,;&#x G;°&#x=N;&#x ;;&#x8H;&#xL,;&#x G;°&#x=N;&#x ;;&#x8H;&#xL,;&#x G;°&#x=N;&#x ;;&#x8H;&#xL,;&#x G;°&#x5,;&#x @;
&#xH8;&#x@O;&#xNI;U&#x 5;&#x5 ; ��0?=N ;8HL, GB ?;038= - 4?;=5=85 : ?@3@05, @0AH8@ONI55 55 276=AB8. �&#x0 ;&#x?@;�&#x0 ;�&#x0 ;�&#x0 ;�@8 MB A00 ?@3@00 1O70B5;L= 4;6=0 ?@54CA0B@820BL =0;8G85 B0:8E ����&#x 2;&#xK?;�&#x 2;&#xK?;�4?;=5=89 8 ?72;OBL 8 2K?;=OBL A25 ?@54=07=0G5=85. �&#x5@;&#x, ;&#xGB;�&#x5@;&#x, ;&#xGB;�&#x5@;&#x, ;&#xGB;�&#xC ;&#x@5;@&#x:B;�&#xC ;&#x@5;@&#x:B;�&#xC ;&#x@5;@&#x:B;�" 5ABL, =0?@85@, GB1K A740BL ?;038= : 3@0D8G5A:C @540:B@C, :B@K9 1K ����&#x =;Æ&#x=0;�2K?;=O; ?@51@0720=85 871@065=89, 0 =C6= ?@54CAB@5BL :0: 8=8C 425 ����DC=:F88 2 ?;038=5 (8, AB25BAB25==, 2K720BL MB8 DC=:F88 2 ?@3@05) - DC=:F8O, ���&#xO ;&#x?;;&#x8=;&#x0 ;&#x/8;&#x;8;&#x 5;00;&#xO ;&#x?;;&#x8=;&#x0 ;&#x/8;&#x;8;&#x 5;00;&#xO ;&#x?;;&#x8=;&#x0 ;&#x/8;&#x;8;&#x 5;00;&#xO ;&#x?;;&#x8=;&#x0 ;&#x/8;&#x;8;&#x 5;00;:B@0O 1K 272@0I0;0 8O ?;038=0 (8/8;8 53 B8?), GB1K 41028BL MBB ?;038= 2 5=N &#x0 ;‡�(8;8 2 BC;10@), ?;NA 3;02=0O DC=:F8O - ?5@540G8 8 ?@850 871@065=8O. ��&#x0 ;&#x8I;[&#x ?;&#x;0;8&#x=K;&#x, ;&#x?0;&#x0 ;&#x8I;[&#x ?;&#x;0;8&#x=K;&#x, ;&#x?0;&#x 4;&#x;O;&#x :;@&#x 4;&#x;O;&#x :;@&#x 4;&#x;O;&#x :;@&#x 4;&#x;O;&#x :;@&#x 4;&#x;O;&#x :;@" 5ABL A=0G0;0 ?@3@00 8I5B ?;038=K, ?B 4;O :0643 =0945==3 2K7K205B 53 �������?7=20B5;L=CN DC=:F8N A AB@3 ?@545;5==K 85=5 (=0?@85@, GetPluginName ) �&#x, ;Z&#x;8;&#x ?;�&#x, ;Z&#x;8;&#x ?;�&#x, ;Z&#x;8;&#x ?;�8 4102;O5B =C6=K9 ?C=:B 2 5=N, 70B5, 5A;8 ?;L720B5;L 2K1@0; MBB ?C=:B - ��������2K7K205B 2B@CN DC=:F8N, :B@9 ?5@5405B 2E4=5 871@065=85 (;81 8O D09;0, �������A45@60I53 MB 871@065=85), 0 MB0 DC=:F8O, 2 A2N G5@54L, 1@010BK205B �����&#xO ;Ð	;&#x0 ;&#xA ;&#x=0;&#x 8;p871@065=85 8 272@0I05B 53 2 =2 2845 (8;8 8O D09;0 A =2K 871@065=85). ��B 8 2AO ACI=ABL ?;038=0. code 6 / 6

Приложенные файлы

  • pdf 7008866
    Размер файла: 314 kB Загрузок: 0

Добавить комментарий