Sveiki,
atsibodo kariaut su Open offic'u :). Gal kas pades. Iki OO 3 versijos viskas
vyko normaliai. A su naujomis versijomis niekaip negaliu susitvarkyt.
Atidarineju per delphi paruosta faila. Problema ta, ka visuomet man ji OO
atidaro read-only rezime. Kaip minejau, su ankstesnemis versijomis tiko tas
pats kodas, dabar niekaip neapgaunu open offic'o. Gal kas pagelbes.
function TForm1.OpenDocument(const aFileUrl:string): boolean;
var
StarDesktop: Variant;
ooParams: variant;
begin
StarDesktop := StarOffice.CreateInstance('com.sun.star.frame.Desktop');
ooParams:=VarArrayCreate([0, 0], varVariant);
ooParams[0]:=MakePropertyValue('ReadOnly', false);
Document := StarDesktop.LoadComponentFromURL(aFileUrl, '_blank', 0,
ooParams);
end;
ir sitas nepadeda:
function TForm1.OpenDocument(const aFileUrl:string): boolean;
var
StarDesktop: Variant;
ooParams: variant;
begin
StarDesktop := StarOffice.CreateInstance('com.sun.star.frame.Desktop');
ooParams := VarArrayCreate([0, -1], varVariant);
Document := StarDesktop.LoadComponentFromURL(
aFileUrl, '_blank', 0, ooParams);
end;
papildoma funkcija, kuria nustatomi atidarinejamo failai parametrai:
function TForm1.MakePropertyValue(PropName:string;
PropValue:Variant):variant;
var Struct: variant;
begin
Struct :=
StarOffice.Bridge_GetStruct('com.sun.star.beans.PropertyValue');
Struct.Name := PropName;
Struct.Value := PropValue;
Result := Struct;
end;