Получение данных из Delphi-приложения в документе Word
Допустим что у вас имеется Word2(6)/Delphi1 или 32bit Word/Delphi2.
Сделайте следующее:
Declare Function StringFromDelphi Lib "c:\sample\test.dll" As String Sub MAIN mystring$ = StringFromDelphi Insert mystring$ End Sub |
library Test; (* test.dpr в c:\sample *) uses Testform in 'TESTFORM.PAS'; exports StringFromDelphi;
beginend. |
unit Testform; (* testform.pas в c:\sample *) interface uses WinTypes, WinProcs, Forms, Classes, Controls, StdCtrls, SysUtils; type TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
end;
varForm1: TForm1;
function StringFromDelphi : PChar; export; {$ifdef WIN32} stdcall; {$endif}
implementation {$R *.DFM} function StringFromDelphi: Pchar; var StringForWord : array[0..255] of char; begin Application.CreateForm(TForm1, Form1);
Form1.ShowModal;
Result:=StrPCopy(StringForWord, Form1.Button1.caption);
end;procedure TForm1.Button1Click(Sender: TObject); begin close;
end;end. |
В журнале PCMagazine Vol12.No22 опубликована статья о доступе к DLL из Word. Ознакомиться с ней вы можете в электронной версии журнала на веб-сайте PCMagazine.
[000190]