скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Получение данных из 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.






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook