[Back to DELPHI SWAG index] [Back to Main SWAG index] [Original]
{
>: : DDE must be used for my task as WPWIN6 does not support OLE automation.
>
>
> How can I call the Word Processor to print a DOC or mail merge?
>
>Dennis
Below is some sample code starting WPerfect and establishing a DDE link with it.
For talking to WinWord I use an OLE link. WordPerfect 6.x does not support OLE automation, hence
the need to revert to a DDE link to control Word Perfect.
}
procedure TFormCases.CreateWordPerfect(MyDocName : String13; Path : String );
var tme : TModuleEntry; h : Word; B : Boolean;
begin
with DDEClientConv1 do begin
ServiceApplication := GWPPath; { Word Perfect path location as a string }
tme.dwSize := sizeof(TModuleEntry);
h := ModuleFindName(@tme,'WPWIN60');
if (h<=0) then begin
SayActivity('',txtWLIS,txtStartWP,''); {splash message screen }
SetLink('WPWIN60_Macros', 'Commands');
B:=OpenLink;
HideActivity; { hide slplash message}
end; { h <=0 }
B:= SetLink('WPWIN60_Macros', 'Commands');
B:=OpenLink;
if not B then ShowMessage('WordPerfect DDE Link failed');
StrPCopy(@Cstr,'Type("Normally WinLaw would create '+Path+' at this point.")');
B:= ExecuteMacro(@CStr,False);
StrPCopy(@Cstr,'HardReturn()');
ExecuteMacro(@CStr,False);
StrPCopy(@Cstr,'Type("For now it demonstates controlling Word Perfect.")');
B:= ExecuteMacro(@CStr,False);
StrPCopy(@Cstr,'HardReturn()');
B:= ExecuteMacro(@CStr,False);
StrPCopy(@Cstr,'HardReturn()');
ExecuteMacro(@CStr,False);
StrPCopy(@Cstr,'AppActivate("WordPerfect")');
B:= ExecuteMacro(@Cstr,False);
{if (not B) then ShowMessage('Activation WP failed');}
CloseLink;
end;
end;
[Back to DELPHI SWAG index] [Back to Main SWAG index] [Original]