![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вызов из Word приложения Delphi? [D6, WinXP]
brestmarket © (2002-11-16 03:04:00)Вызов из Word приложения Delphi. У меня нижеприведенный код не работает, может есть у Вас другие альтернативные решения?
Assuming that you have Word2(6)/Delphi1 or 32bit Word/Delphi2.
Try:
Make macro in Word:
--------------------------------------------------------------------------------
Declare Function StringFromDelphi Lib "c:\sample\test.dll" As String
Sub MAIN
mystring$ = StringFromDelphi
Insert mystring$
End Sub
--------------------------------------------------------------------------------
Create simple TEST.DLL in Delphi - just form with a button. Save it (eg.in c:\sample - see Word macro) as test.dpr and testform.pas. Now add to your project EXPORTED function "StringFromDelphi" and "close" on button click. You can paste the stuff from below:
--------------------------------------------------------------------------------
library Test; (* test.dpr in c:\sample *)
uses Testform in "TESTFORM.PAS";
exports
StringFromDelphi;
begin
end.
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
unit Testform; (* testform.pas in 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.
--------------------------------------------------------------------------------
Compile test.dll. Run macro from Word, Delphi form should appear - click the button to get some data from Delphi.
Fantasist (2002-11-17 10:50:00) [1]Ты хоть бы написал, как не работает. Отладчиком бы походил, да выяснил бы подробнее процесс.
Давыд (2002-11-17 10:17:00) [2]Не знаю, прислали ли тебе уже исходники или нет. Как сделать ActiveX прочитаешь где-нибудь. А потом читай на
www.microsoft.com/rus/msdn/activ/article/library/kolesov/tips/0012.htm
brestmarket (2002-11-17 04:42:00) [3]Кто бы мне пару минут уделил - актуально ведь и многим интересно,- я уверен!
brestmarket (2002-11-16 10:21:00) [4]Пожалуйста пришли - очень жду. В любом случае вопрос остается актуальным! - необходимо именно с помощью макроса вызывать функции из моей dll-библиотеки. Очень надеюсь на помощь.
trotski (2002-11-16 10:15:00) [5]Делай ActiveX компонент и используй вызов его из Ворда. Я так троянчиеи писал. Могу код прислать.