Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Получение данных из Delphi-приложения в документе Word

Сделайте следующее:

  • Создайте макрос в Word:

Declare Function StringFromDelphi Lib "c:\sample\test.dll" As String

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;
begin
end.


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;
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 World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay