Alguien que sepa más que yo podría hecharme una mano para tratar de hacer que el open office aparezca insertado/embebido en mi formulario delphi. Osea que funcione igual que el ms office y que no se abra en una ventana distinta al formulario donde está el ole container.
El código para automtizarlo podría ser:
Código Delphi
[-]unit SampleCode;
interface
uses
Windows, Messages, SysUtils, Classes,
Graphics, Controls, Forms, Dialogs,
StdCtrls, ComObj, Variants;
type
TsampleCode = class
function CreateTextDocument(): Variant;
private
public
end;
implementation
function TsampleCode.CreateTextDocument(): Variant;
var
ServiceManager: Variant;
StarDesktop: Variant;
Document: Variant;
begin
ServiceManager := CreateOleObject('com.sun.star.ServiceManager');
StarDesktop := ServiceManager.createInstance('com.sun.star.frame.Desktop');
Document := StarDesktop.LoadComponentFromURL('private:factory/swriter','_blank',0,VarArrayCreate([0, - 1], varVariant));
CreateTextDocument := Document;
end;
end.
Partiendo de este código, o de otro, podría conseguirse el comportamiento antes citado.
Gracias.