Thema: Delphi OLE ohne Form

Einzelnen Beitrag anzeigen

Generalissimo

Registriert seit: 28. Aug 2003
187 Beiträge
 
Delphi 6 Enterprise
 
#2

Re: OLE ohne Form

  Alt 9. Okt 2004, 12:38
Ab Delphi 4 reicht es nicht mehr aus nur ComObj.pas einzubinden um die COM-Umgebung zu initialisieren.
Ab Delphi 4 muss man Application.Initialize aufrufen. Das erledigt das ganze dann. Da du ja eine Konsolenanwendung hast willst du sicher nicht unnötig die Forms.pas einbinden. Also musst du einen Ersatz für Application.Initialize bauen:

Lösung aus: aus COM/DCOM/COM+ von Andreas Kosch ISBN:3935042019 Seite 188

Dein Programm nun angepasst:

Delphi-Quellcode:
Program CrossWord;

Uses
ComObj,
SysUtils;

{$R *.res}

procedure SetWordSettings (sVersion:string);
Var
WordApp:OLEVariant;
begin
 try
  WordApp := CreateOLEObject('Word.Application')
 except on E: Exception do
  begin
   E.Message := 'Word is not available';
   raise
  end;
 end;
 try
  WordApp.Visible := True
  WordApp.Documents.Add;
 finally
  WordApp.Quit
 end;
end;

begin
if InitProc <> nil then TProcedure(InitProc);
SetWordSettings('10');
end.
  Mit Zitat antworten Zitat