Fix for Unicode bug is here

Anu de DeusAnu de Deus Hampshire, UK
edited 7:19PM in FastReport 4.0
After months of wait, and 3 completely unanswered support tickets, I decided to fix this bug myself, and I'm posting the fix here.
Bug: http://www.fast-report.com/en/forum/index....amp;#entry19941

Unfortunately only users with the Professional license will be able to apply this.
For all the other users (standard license), I suggest putting some pressure on FastReports to apply this in the next versions.

FREE FOR USE, USE AT YOUR OWN RISK. Enjoy
fs_interpreter.pas

procedure TfsVariable.SetValue(const Value: Variant);
begin
  if not FIsReadOnly then
    case FTyp of
      fvtInt: FValue := VarAsType(Value, varInteger);
      fvtBool: FValue := VarAsType(Value, varBoolean);
      fvtFloat: FValue := VarAsType(Value, varDouble);
      fvtString:
{$IFDEF Delphi12}
      begin
          if VarIsType(Value, varUString) then
            FValue := VarAsType(Value, varUString)
          else
            FValue := VarAsType(Value, varString);
      end
{$ELSE}
      FValue := VarAsType(Value, varString);
{$ENDIF}
    else
      FValue := Value;
    end;
end;

Comments

  • Anu de DeusAnu de Deus Hampshire, UK
    edited 7:19PM
    I just realised that maybe fs_iinterpreter.pas might be available to Standard users as well, but I can't be sure as I don't intend to revert to that version anymore.
    Those willing to try it, see if you can change fs_iinterpreter.pas, recompile and replace the existing dcu in the \LibD14 folder (or equivalent)

Leave a Comment

Rich Text Editor. To edit a paragraph's style, hit tab to get to the paragraph menu. From there you will be able to pick one style. Nothing defaults to paragraph. An inline formatting menu will show up when you select text. Hit tab to get into that menu. Some elements, such as rich link embeds, images, loading indicators, and error messages may get inserted into the editor. You may navigate to these using the arrow keys inside of the editor and delete them with the delete or backspace key.