Сделайте следующее:
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;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. |
В журнале PCMagazine Vol12.No22 опубликована статья о доступе к DLL из Word. Ознакомиться с ней вы можете в электронной версии журнала на веб-сайте PCMagazine.
[000190]