Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 3274
  • Last Modified:

Using Delphi to automate LibreOffice?

I wrote a program in Delphi XE2 that opens an OpenOffice spreadsheet, inserts some data, formats it & then prints it. It worked fine, albeit slowly.

I've just uninstalled OpenOffice (3.3) & installed LibreOffice (4.1.3.2). Now I get an error message:

Invalid class string progid com.sun.star.ServiceManager

I've tracked it down to the 6th line of this procedure:
procedure ConnectOpenOffice;
begin
  if IsOpenOfficeConnected then exit;
  Screen.Cursor:= crHourglass;      Application.ProcessMessages;
  try
    OpenOffice:=        CreateOleObject('com.sun.star.ServiceManager'); // <---- This line
    if isNullEmpty(OpenOffice) then    Raise EOOoError.Create(OOo_connectKO);
    StarDesktop:=       CreateUnoService('com.sun.star.frame.Desktop');
    disp:=              CreateUnoService('com.sun.star.frame.DispatchHelper');
    OOoIntrospection:=  CreateUnoService('com.sun.star.beans.Introspection');
    OOoReflection:=     CreateUnoService('com.sun.star.reflection.CoreReflection');
  finally
    Screen.Cursor:= crDefault;
  end;
end;

Open in new window

Not sure what to do next, as the above code is in this file:

unit OOoTools;

{
This unit is part of a toolbox to pilot OpenOffice.org from Delphi using COM Automation.
Copyright (C) 2004-2007  Bernard Marcelly
This unit is free software; you can redistribute it and/or modify it under the terms of
the GNU Lesser General Public License as published by the Free Software Foundation;
either version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this
library; if not, write to the Free Software Foundation, Inc.,
59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
}
0
alex_smith
Asked:
alex_smith
1 Solution
 
alex_smithAuthor Commented:
Found solution on https://forum.openoffice.org/en/forum/viewtopic.php?f=101&t=41778 
by RoryOF ยป Wed Jun 15, 2011 1:32 pm

In that case, I suggest removing LibreOffice and OpenOffice traces using Revo Uninstaller at its most aggressive settings, then reinstalling LibreOffice.
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now