この質問を読んだ後、私はこの方法で問題を解決しました:
function CreateProperty(const AName: AnsiString; const AValue: Variant): Variant;
begin
Result := StarOffice.Bridge_GetStruct('com.sun.star.beans.PropertyValue');
Result.Name := AName;
Result.Value := AValue;
end;
に変更
function CreateProperty(const AName: AnsiString; const AValue: Variant): Variant;
var
AVal : Variant;
begin
Result := StarOffice.Bridge_GetStruct('com.sun.star.beans.PropertyValue');
Result.Name := AName;
AVal := AValue; // this is done to avoid 'Bad Variable Type'
Result.Value := AVal;
end;
パラメータconst
で削除することでも解決できます。AValue
function CreateProperty(const AName: AnsiString; AValue: Variant): Variant;
begin
Result := StarOffice.Bridge_GetStruct('com.sun.star.beans.PropertyValue');
Result.Name := AName;
Result.Value := AValue;
end;