From 6348d8aedb3d8217553e910259114571f1fb1768 Mon Sep 17 00:00:00 2001 From: Roniery Santos Cardoso Date: Sat, 21 Feb 2026 15:56:45 -0300 Subject: [PATCH] =?UTF-8?q?ajustes=20no=20Massive=20e=20compatibilidade=20?= =?UTF-8?q?com=20bancos=20case=20sensitive,=20corre=C3=A7=C3=B5es=20para?= =?UTF-8?q?=20Delphi=2013=20e=20tratamento=20de=20dados?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix(core): ajustes no Massive e compatibilidade com bancos case sensitive - Ajustado suporte para bancos case sensitive (PostgreSQL e outros) - Ajustes gerais no Massive - Corrigidos campos Boolean no ClientSQL Autor: - xybersportgames (Gilberto Rocha) fix(delphi): correções para Delphi 13 e tratamento de dados - Corrigidos Wizards para Delphi 13 - Corrigido WriteDataset quando a data contém separador '-' - Ajustado tratamento quando campo Integer vem vazio Autor: - abritolda (Alberto Brito) --- CORE/Source/Basic/uRESTDWParams.pas | 4 +- CORE/Source/Basic/uRESTDWStorageBin.pas | 15 ++- CORE/Source/Consts/uRESTDWConsts.pas | 2 +- CORE/Source/Includes/RDWWIZ.inc | 158 +++++++++++++++++++++++- CORE/Source/Includes/uRESTDW.inc | 1 + CORE/Source/Wizards/RDWCGIWizard.pas | 4 +- CORE/Source/Wizards/STLWizard.pas | 5 +- 7 files changed, 175 insertions(+), 14 deletions(-) diff --git a/CORE/Source/Basic/uRESTDWParams.pas b/CORE/Source/Basic/uRESTDWParams.pas index f1a181c05..dff5feb4f 100644 --- a/CORE/Source/Basic/uRESTDWParams.pas +++ b/CORE/Source/Basic/uRESTDWParams.pas @@ -637,8 +637,8 @@ implementation If (Pos('.', vTempValue) > 0) Or (Pos(':', vTempValue) > 0) Or (Pos('/', vTempValue) > 0) Or - (Pos('\', vTempValue) > 0) - //(Pos('-', vTempValue) > 0) + (Pos('\', vTempValue) > 0) Or + (Pos('-', vTempValue) > 0) // Or (vTempValue.CountChar('-')>1) //Testar XyberX Then Field.AsDateTime := StrToDateTime(vTempValue) diff --git a/CORE/Source/Basic/uRESTDWStorageBin.pas b/CORE/Source/Basic/uRESTDWStorageBin.pas index b05985f71..7ffd83754 100644 --- a/CORE/Source/Basic/uRESTDWStorageBin.pas +++ b/CORE/Source/Basic/uRESTDWStorageBin.pas @@ -1819,12 +1819,15 @@ interface vInt64 := vMemoryStream.Size; AStream.Write(vInt64, SizeOf(vInt64)); SetLength(vBytes, vInt64); - Try - vMemoryStream.Position := 0; - vMemoryStream.Read(vBytes[0], vInt64); - Except - End; - AStream.Write(vBytes[0], vInt64); + if vInt64 > 0 then + begin + Try + vMemoryStream.Position := 0; + vMemoryStream.Read(vBytes[0], vInt64); + Except + End; + AStream.Write(vBytes[0], vInt64); + end; Finally SetLength(vBytes, 0); FreeAndNil(vMemoryStream); diff --git a/CORE/Source/Consts/uRESTDWConsts.pas b/CORE/Source/Consts/uRESTDWConsts.pas index 1082c7958..38ad628aa 100644 --- a/CORE/Source/Consts/uRESTDWConsts.pas +++ b/CORE/Source/Consts/uRESTDWConsts.pas @@ -60,7 +60,7 @@ // controle de versão RESTDWVersionINFO = 'v2.1.0-'; - RESTDWRelease = '3974'; + RESTDWRelease = '3975'; RESTDWCodeProject = 'Final Fantasy X - SourceForge'; RESTDWVersao = RESTDWVersionINFO + RESTDWRelease + '(' + RESTDWCodeProject + ')'; RESTDWDialogoTitulo = 'REST DataWare Components ' + RESTDWVersao; diff --git a/CORE/Source/Includes/RDWWIZ.inc b/CORE/Source/Includes/RDWWIZ.inc index f4c1372f5..4790cd356 100644 --- a/CORE/Source/Includes/RDWWIZ.inc +++ b/CORE/Source/Includes/RDWWIZ.inc @@ -354,9 +354,64 @@ {$DEFINE ISDELPHI} {$ENDIF} {$ENDIF} +{$IFDEF VER300} //Delphi 10 Seatle + {$DEFINE DELPHI2_LVL} + {$DEFINE DELPHI3_LVL} + {$DEFINE DELPHI4_LVL} + {$DEFINE DELPHI5_LVL} + {$DEFINE DELPHI6_LVL} + {$DEFINE DELPHI7_LVL} + {$DEFINE DELPHI9_LVL} + {$DEFINE DELPHI2006_LVL} + {$DEFINE DELPHI2007_LVL} + {$DEFINE DELPHI2010_LVL} + {$DEFINE DELPHIXE_LVL} + {$DEFINE DELPHIXE2_LVL} + {$DEFINE DELPHIXE3_LVL} + {$DEFINE DELPHIXE4_LVL} + {$DEFINE DELPHIXE5_LVL} + {$DEFINE DELPHIXE6_LVL} + {$DEFINE DELPHIXE7_LVL} + {$DEFINE DELPHIXE8_LVL} + {$DEFINE DELPHI_TOUCH} + {$DEFINE DELPHI_UNICODE} + {$IFNDEF BCB} + {$DEFINE ISDELPHI} + {$ENDIF} +{$ENDIF} +{$IFDEF VER310} //Delphi 10.1 Berlin + {$DEFINE DELPHI2_LVL} + {$DEFINE DELPHI3_LVL} + {$DEFINE DELPHI4_LVL} + {$DEFINE DELPHI5_LVL} + {$DEFINE DELPHI6_LVL} + {$DEFINE DELPHI7_LVL} + {$DEFINE DELPHI9_LVL} + {$DEFINE DELPHI2006_LVL} + {$DEFINE DELPHI2007_LVL} + {$DEFINE DELPHI2010_LVL} + {$DEFINE DELPHIXE_LVL} + {$DEFINE DELPHIXE2_LVL} + {$DEFINE DELPHIXE3_LVL} + {$DEFINE DELPHIXE4_LVL} + {$DEFINE DELPHIXE5_LVL} + {$DEFINE DELPHIXE6_LVL} + {$DEFINE DELPHIXE7_LVL} + {$DEFINE DELPHIXE8_LVL} + {$DEFINE DELPHIXE9_LVL} + {$DEFINE DELPHIXE10_LVL} + {$DEFINE DELPHIXE10_1_LVL} + {$DEFINE DELPHIXE10_2_LVL} + {$DEFINE DELPHI_TOUCH} + {$DEFINE DELPHI_UNICODE} + {$DEFINE DELPHI10_LVL} + {$IFNDEF BCB} + {$DEFINE ISDELPHI} + {$ENDIF} +{$ENDIF} -{$IFDEF VER300} +{$IFDEF VER320} //Delphi 10.2 Tokyo {$DEFINE DELPHI2_LVL} {$DEFINE DELPHI3_LVL} {$DEFINE DELPHI4_LVL} @@ -376,6 +431,9 @@ {$DEFINE DELPHIXE7_LVL} {$DEFINE DELPHIXE8_LVL} {$DEFINE DELPHIXE9_LVL} + {$DEFINE DELPHIXE10_LVL} + {$DEFINE DELPHIXE10_1_LVL} + {$DEFINE DELPHIXE10_2_LVL} {$DEFINE DELPHI_TOUCH} {$DEFINE DELPHI_UNICODE} {$DEFINE DELPHI10_LVL} @@ -384,7 +442,7 @@ {$ENDIF} {$ENDIF} -{$IFDEF VER310} +{$IFDEF VER330} //Delphi 10.3 Rio {$DEFINE DELPHI2_LVL} {$DEFINE DELPHI3_LVL} {$DEFINE DELPHI4_LVL} @@ -406,6 +464,100 @@ {$DEFINE DELPHIXE9_LVL} {$DEFINE DELPHIXE10_LVL} {$DEFINE DELPHIXE10_1_LVL} + {$DEFINE DELPHIXE10_2_LVL} + {$DEFINE DELPHI_TOUCH} + {$DEFINE DELPHI_UNICODE} + {$DEFINE DELPHI10_LVL} + {$IFNDEF BCB} + {$DEFINE ISDELPHI} + {$ENDIF} +{$ENDIF} + +{$IFDEF VER340} //Delphi 10.4 Sydney + {$DEFINE DELPHI2_LVL} + {$DEFINE DELPHI3_LVL} + {$DEFINE DELPHI4_LVL} + {$DEFINE DELPHI5_LVL} + {$DEFINE DELPHI6_LVL} + {$DEFINE DELPHI7_LVL} + {$DEFINE DELPHI9_LVL} + {$DEFINE DELPHI2006_LVL} + {$DEFINE DELPHI2007_LVL} + {$DEFINE DELPHI2010_LVL} + {$DEFINE DELPHIXE_LVL} + {$DEFINE DELPHIXE2_LVL} + {$DEFINE DELPHIXE3_LVL} + {$DEFINE DELPHIXE4_LVL} + {$DEFINE DELPHIXE5_LVL} + {$DEFINE DELPHIXE6_LVL} + {$DEFINE DELPHIXE7_LVL} + {$DEFINE DELPHIXE8_LVL} + {$DEFINE DELPHIXE9_LVL} + {$DEFINE DELPHIXE10_LVL} + {$DEFINE DELPHIXE10_1_LVL} + {$DEFINE DELPHIXE10_2_LVL} + {$DEFINE DELPHI_TOUCH} + {$DEFINE DELPHI_UNICODE} + {$DEFINE DELPHI10_LVL} + {$IFNDEF BCB} + {$DEFINE ISDELPHI} + {$ENDIF} +{$ENDIF} + +{$IFDEF VER350} //Delphi 11 Alexandria + {$DEFINE DELPHI2_LVL} + {$DEFINE DELPHI3_LVL} + {$DEFINE DELPHI4_LVL} + {$DEFINE DELPHI5_LVL} + {$DEFINE DELPHI6_LVL} + {$DEFINE DELPHI7_LVL} + {$DEFINE DELPHI9_LVL} + {$DEFINE DELPHI2006_LVL} + {$DEFINE DELPHI2007_LVL} + {$DEFINE DELPHI2010_LVL} + {$DEFINE DELPHIXE_LVL} + {$DEFINE DELPHIXE2_LVL} + {$DEFINE DELPHIXE3_LVL} + {$DEFINE DELPHIXE4_LVL} + {$DEFINE DELPHIXE5_LVL} + {$DEFINE DELPHIXE6_LVL} + {$DEFINE DELPHIXE7_LVL} + {$DEFINE DELPHIXE8_LVL} + {$DEFINE DELPHIXE9_LVL} + {$DEFINE DELPHIXE10_LVL} + {$DEFINE DELPHIXE10_1_LVL} + {$DEFINE DELPHIXE10_2_LVL} + {$DEFINE DELPHI_TOUCH} + {$DEFINE DELPHI_UNICODE} + {$DEFINE DELPHI10_LVL} + {$IFNDEF BCB} + {$DEFINE ISDELPHI} + {$ENDIF} +{$ENDIF} + +{$IFDEF VER360} //Delphi 12 Athens + {$DEFINE DELPHI2_LVL} + {$DEFINE DELPHI3_LVL} + {$DEFINE DELPHI4_LVL} + {$DEFINE DELPHI5_LVL} + {$DEFINE DELPHI6_LVL} + {$DEFINE DELPHI7_LVL} + {$DEFINE DELPHI9_LVL} + {$DEFINE DELPHI2006_LVL} + {$DEFINE DELPHI2007_LVL} + {$DEFINE DELPHI2010_LVL} + {$DEFINE DELPHIXE_LVL} + {$DEFINE DELPHIXE2_LVL} + {$DEFINE DELPHIXE3_LVL} + {$DEFINE DELPHIXE4_LVL} + {$DEFINE DELPHIXE5_LVL} + {$DEFINE DELPHIXE6_LVL} + {$DEFINE DELPHIXE7_LVL} + {$DEFINE DELPHIXE8_LVL} + {$DEFINE DELPHIXE9_LVL} + {$DEFINE DELPHIXE10_LVL} + {$DEFINE DELPHIXE10_1_LVL} + {$DEFINE DELPHIXE10_2_LVL} {$DEFINE DELPHI_TOUCH} {$DEFINE DELPHI_UNICODE} {$DEFINE DELPHI10_LVL} @@ -414,7 +566,7 @@ {$ENDIF} {$ENDIF} -{$IFDEF VER320} +{$IFDEF VER370} //Delphi 13 Florence {$DEFINE DELPHI2_LVL} {$DEFINE DELPHI3_LVL} {$DEFINE DELPHI4_LVL} diff --git a/CORE/Source/Includes/uRESTDW.inc b/CORE/Source/Includes/uRESTDW.inc index e4c78b542..3eba71cf8 100644 --- a/CORE/Source/Includes/uRESTDW.inc +++ b/CORE/Source/Includes/uRESTDW.inc @@ -41,6 +41,7 @@ {$IFNDEF FPC} {$IFDEF VER370 or CompilerVersion >= 37} + {$DEFINE DELPHI13UP} {$DEFINE DELPHI12UP} {$DEFINE DELPHI11UP} {$DEFINE DELPHI10_4UP} diff --git a/CORE/Source/Wizards/RDWCGIWizard.pas b/CORE/Source/Wizards/RDWCGIWizard.pas index 9d06dca90..d28285d7e 100644 --- a/CORE/Source/Wizards/RDWCGIWizard.pas +++ b/CORE/Source/Wizards/RDWCGIWizard.pas @@ -343,7 +343,9 @@ Function GetDelphiGlobalKey : String; Begin Result := ''; - {$IF DEFINED(DELPHI12UP)} // delphi 11 Alexandria + {$IF DEFINED(DELPHI13UP)} // delphi 12 Athens + Result := '\Software\Embarcadero\BDS\37.0\Globals'; + {$ELSEIF DEFINED(DELPHI12UP)} // delphi 12 Athens Result := '\Software\Embarcadero\BDS\23.0\Globals'; {$ELSEIF DEFINED(DELPHI11UP)} // delphi 11 Alexandria Result := '\Software\Embarcadero\BDS\22.0\Globals'; diff --git a/CORE/Source/Wizards/STLWizard.pas b/CORE/Source/Wizards/STLWizard.pas index e186ceb5e..e7400e177 100644 --- a/CORE/Source/Wizards/STLWizard.pas +++ b/CORE/Source/Wizards/STLWizard.pas @@ -458,9 +458,12 @@ {$IFDEF ver350} // delphi 11 Result := '\Software\Embarcadero\BDS\22.0\Globals'; {$ENDIF} - {$IFDEF ver360} // delphi 11 + {$IFDEF ver360} // delphi 12 Result := '\Software\Embarcadero\BDS\23.0\Globals'; {$ENDIF} + {$IFDEF ver370} // delphi 13 + Result := '\Software\Embarcadero\BDS\37.0\Globals'; + {$ENDIF} End; Function Getideprojectpath: String;