Fixes for FV TInputLine's GetData, SetData and DataSize functions
Fixes for Unicode version of TInputLine, where GetData and SetData procedures failed to do their job.
A quick test for the fixes:
uses
{$ifdef UNIX}cwstring,{$endif}
SysUtils, UApp, UMsgBox, UDialogs, Objects, Drivers, FVConsts;
type
TTestRec = record
Text1,
Text2: UnicodeString;
end;
var
MyApp: TApplication;
procedure TestDialog;
var
D: PDialog;
R: TRect;
T: TTestRec;
begin
T.Text1 := 'Text 1';
T.Text2 := 'ABC';
R.Assign(3, 3, 40, 13);
New(D, Init(R, 'Test'));
R.Assign(3, 2, 30, 3);
D^.Insert(New(PInputLine, Init(R, 20)));
R.Assign(3, 4, 30, 5);
D^.Insert(New(PInputLine, Init(R, 20)));
R.Assign(3, 7, 19, 9);
D^.Insert(New(PButton, Init(R, 'O~k~', cmOk, bfDefault)));
D^.SetData(T);
Desktop^.ExecView(D);
D^.GetData(T);
MessageBox(Format('%s'#13'%s', [T.Text1, T.Text2]), nil, mfInformation + mfOKButton);
Dispose(D, Done);
end;
begin
MyApp.Init;
TestDialog;
MyApp.Run;
MyApp.Done;
end.
Edited by kagamma