Esteban.
]]>class procedure TMainForm.FromBase64(const Value: variant; out result: variant);
var
lValue: RawByteString;
begin
lValue := Copy(Value, 1, Length(Value));
result := SynCommons.Base64ToBin(lValue);
end;
class procedure TMainForm.ToBase64(const Value: variant; out result: variant);
var
lValue: RawByteString;
begin
lValue := Copy(Value, 1, Length(Value));
result := SynCommons.BinToBase64(lValue);
end;
@ab, is there a better solution ?
Thanks.
Esteban
]]>Thanks.
Esteban.
]]>...
class procedure TMainForm.FromBase64(const Value: variant; out result: variant);
var
lValue, lResp: RawByteString;
begin
VariantToRawByteString(Value, lValue);
lResp := SynCommons.Base64ToBin(lValue);
RawByteStringToVariant(lResp, result);
end;
...
class procedure TMainForm.ToBase64(const Value: variant; out result: variant);
var
lValue, lResp: RawByteString;
begin
VariantToRawByteString(Value, lValue);
lResp := SynCommons.BinToBase64(lValue);
RawByteStringToVariant(lResp, result);
end;
but the error continue, if I hardcoded in ToBase64 the result variable this works
...
class procedure TMainForm.FromBase64(const Value: variant; out result: variant);
var
lValue, lResp: RawByteString;
begin
VariantToRawByteString(Value, lValue);
lResp := SynCommons.Base64ToBin(lValue);
RawByteStringToVariant(lResp, result);
end;
...
class procedure TMainForm.ToBase64(const Value: variant; out result: variant);
var
lValue, lResp: RawByteString;
begin
VariantToRawByteString(Value, lValue);
lResp := SynCommons.BinToBase64(lValue);
// RawByteStringToVariant(lResp, result);
result := 'dGV4dCBlbmNvZGVkIHdpdGggYmFzZTY0IHVzaW5nIGJpbnRvYmFzZTY0IGZ1bmN0aW9u';
end;
or if I hardcode the lValue variable in FromBase64, too this works
...
class procedure TMainForm.FromBase64(const Value: variant; out result: variant);
var
lValue, lResp: RawByteString;
begin
lValue := 'dGV4dCBlbmNvZGVkIHdpdGggYmFzZTY0IHVzaW5nIGJpbnRvYmFzZTY0IGZ1bmN0aW9u';
// VariantToRawByteString(Value, lValue);
lResp := SynCommons.Base64ToBin(lValue);
RawByteStringToVariant(lResp, result);
end;
...
class procedure TMainForm.ToBase64(const Value: variant; out result: variant);
var
lValue, lResp: RawByteString;
begin
VariantToRawByteString(Value, lValue);
lResp := SynCommons.BinToBase64(lValue);
RawByteStringToVariant(lResp, result);
end;
I am very confused.
Any help is appreciated.
Esteban.
]]>https://drive.google.com/file/d/0Bx7LPc … sp=sharing
Can you see the problem ? I need use this feature.
Thanks in advance.
Esteban.
]]>