[Patch] tkUString handling in GetStrProp/GetWideStrProp and SetStrProp/SetWideStrProp
Original Reporter info from Mantis: inoussa @inoussa12
-
Reporter name: Inoussa OUEDRAOGO
Original Reporter info from Mantis: inoussa @inoussa12
- Reporter name: Inoussa OUEDRAOGO
Description:
GetStrProp and GetWideStrProp were always returning empty string for Unicode string published properties no matter what the values actually are.
SetStrProp/SetWideStrProp were not changing the properties values.
The program in "Additional Information" below demonstrates the problems.
The Attached file is a patch that address these issues.
Additional information:
program test_widestrprop_p2;
{$mode objfpc}{$H+}
uses
Classes, SysUtils, TypInfo;
type
TClass_A = class(TPersistent)
private
Fwsp: WideString;
published
property wsp : WideString read Fwsp write Fwsp;
end;
var
x : TClass_A;
begin
x := TClass_A.Create();
WriteLn('Reading :');
x.wsp := 'azerty';
WriteLn(' Using GetUnicodeStrProp() : ',GetUnicodeStrProp(x,'wsp'));
WriteLn(' Using GetStrProp() : ',GetStrProp(x,'wsp'));
WriteLn(' Using GetWideStrProp() : ',GetWideStrProp(x,'wsp'));
WriteLn('Writing :');
x.wsp := '';
SetUnicodeStrProp(x,'wsp','azerty');
WriteLn(' Using SetUnicodeStrPr() : ',x.wsp);
x.wsp := '';
SetStrProp(x,'wsp','azerty');
WriteLn(' Using SetStrPr() : ',x.wsp);
x.wsp := '';
SetWideStrProp(x,'wsp','azerty');
WriteLn(' Using SetWideStrPr() : ',x.wsp);
ReadLn;
end.
Mantis conversion info:
- Mantis ID: 12224
- Version: 2.3.1
- Fixed in version: 2.4.0
- Fixed in revision: 11832 (#50012c23)