Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Openoffice in Delphi (https://www.delphipraxis.net/74899-openoffice-delphi.html)

lamgiang0803 10. Aug 2006 16:02


Openoffice in Delphi
 
Hallo alle Profile,

wo oder wie kann ich alle Eigenschaften bzw. Funktion der Variable Document bestimmen (z.B. Document.GetPrinter ...).
für jede Antworte badanke mich ganz herzlich.
Grüßen
Lamgiang


Delphi-Quellcode:
function TOOViaOLE.CreateDocument(cFilename: string = ''): boolean;
var
   StarDesktop: Variant;
   Document: Variant;
begin

   try
     
      StarDesktop := StarOffice.createInstance('com.sun.star.frame.Desktop');
      if Length(cFilename) > 0 then begin
         if Pos('file:///', cFilename) < 1 then
            cFilename := Path_Win2OO(cFilename);
         Document := StarDesktop.LoadComponentFromURL(cFilename, '_blank', 0, VarArrayCreate([0, -1], varVariant));
      end
      else
         Document := StarDesktop.LoadComponentFromURL('private:factory/swriter', '_blank', 0, VarArrayCreate([0, -1], varVariant));
     
      CreateDocument := not (VarIsEmpty(Document) or VarIsNull(Document));
      Result:=TRUE;
 
   except
      Result:=FALSE;  
   end;
end;

Der_Unwissende 10. Aug 2006 16:17

Re: Openoffice in Delphi
 
Zitat:

Zitat von lamgiang0803
wo oder wie kann ich alle Eigenschaften bzw. Funktion der Variable Document bestimmen (z.B. Document.GetPrinter ...).

Hi,
ich fürchte direkt bestimmen kannst du die nicht, du musst nach UNO schauen bzw. in das SDK zu OO. Bei der Schnittstelle handelt es sich um OLE Objekte, hier wird erst zur Laufzeit versucht die entsprechende Funktion zu finden (womit Fehler auch erst hier gefunden werden)

Gruß Der Unwissende


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:24 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz