From 327dd4aab625aac214c37bc4e63bc3a9d4f7797c Mon Sep 17 00:00:00 2001 From: inoussa Date: Sat, 23 Apr 2016 16:43:26 +0000 Subject: [PATCH] Fix Date/Duration/Time string parsing for empty strings (Thanks MVC). git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4630 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- wst/trunk/base_service_intf.pas | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/wst/trunk/base_service_intf.pas b/wst/trunk/base_service_intf.pas index f8041985a..29e13cd63 100644 --- a/wst/trunk/base_service_intf.pas +++ b/wst/trunk/base_service_intf.pas @@ -6089,7 +6089,10 @@ end; procedure TBaseDateRemotable.SetAsString(const AValue: string); begin - FDate := Parse(AValue); + if (AValue<>'') then + FDate := Parse(AValue) + else + FillChar(FDate,SizeOf(TDateTimeRec),0); end; procedure TBaseDateRemotable.SetOffset(const Index: Integer; const Value: Shortint); @@ -6800,7 +6803,10 @@ end; procedure TDurationRemotable.SetAsString(const AValue: string); begin - FData := Parse(AValue); + if (AValue<>'') then + FData := Parse(AValue) + else + FillChar(FData,SizeOf(TDurationRec),0); end; procedure TDurationRemotable.SetNegative(const AValue: Boolean); @@ -7197,7 +7203,10 @@ end; procedure TTimeRemotable.SetAsString(const AValue: string); begin - Data := Parse(AValue); + if (AValue<>'') then + Data := Parse(AValue) + else + FillChar(FData,SizeOf(TTimeRec),0); end; procedure TTimeRemotable.SetMilliSecond(const AValue: Word);