Получение данных из Delphi-приложения в документе Word
Сделайте следующее:
Создайте макрос в Word:
Declare Function StringFromDelphi Lib "c:\sample\test.dll" AsString
Sub MAIN
mystring$ = StringFromDelphi
Insert mystring$
End Sub
Создайте простой TEST.DLL в Delphi - просто форма с кнопкой. Сохраните это
(например в c:\sample - смотри макрос Word) как test.dpr и testform.pas. Теперь
добавьте к вашему проекту экспортируемую функцию 'StringFromDelphi' и 'close' на
нажатие кнопки. Вы можете использовать следующий код:
library Test; (* test.dpr в c:\sample *)uses Testform in 'TESTFORM.PAS';
exports
StringFromDelphi;
beginend.
unit Testform; (* testform.pas в c:\sample *)interfaceuses
WinTypes, WinProcs, Forms, Classes, Controls, StdCtrls, SysUtils;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
end;
var
Form1: 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.
Скомпилируйте test.dll. Запустите макрос из Word - должна появиться форма Delphi
- нажмите кнопку для получения некоторых данных из Delphi.
В журнале PCMagazine Vol12.No22 опубликована статья о доступе к DLL из Word.
Ознакомиться с ней вы можете в электронной версии журнала на веб-сайте
PCMagazine.
Получение данных из Delphi-приложения в документе Word: создается макрос в Word, который вызывает функцию StringFromDelphi из экспортируемого DLL-файла, созданного в Delphi с помощью формы и кнопки.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.