Bug TMemDataSet
Publicado: Jue May 01, 2008 2:42 am
Correção de Bug em Datafield quando DataSet é TMemDataset e GetFromStruct e
AddcalcField é usado.
:::::::::::::::Exemplo: oDataSet:GetStructFrom( tbOrigem ) ....
oDataset:AddcalcField('teset',{|| oDataSet:codigo + 1 }) ..... >>>
oDataSet:AddNew() <Problema aqui>
METHOD BasicType() CLASS XDataField
LOCAL cType := ::cType
// Bug en tipo MONEY para ADS
// Bug on TMemDataSet use AddCalcField >>> wilson alves<<<
IF Empty( cType ) .AND. ( ::oDataSet:ISKindOF('TMemDataSet') .OR.
::oDataSet:oDataSource:IsKindOf( "TAdsDataSource" ))
cType := "N"
ENDIF
DO CASE
CASE cType == "INTEGER" .OR. cType == "SHORTINT" .OR. cType ==
"CURDOUBLE" .OR. ;
cType == "DOUBLE" .OR. cType == "AUTOINC"
cType := "N"
CASE cType == "TIME" .OR. cType == "TIMESTAMP"
cType := "C"
CASE cType == "BINARY" .OR. cType == "IMAGE" .OR. cType == "RAW" .OR.
cType = "B"
cType := "M"
ENDCASE
RETURN cType
AddcalcField é usado.
:::::::::::::::Exemplo: oDataSet:GetStructFrom( tbOrigem ) ....
oDataset:AddcalcField('teset',{|| oDataSet:codigo + 1 }) ..... >>>
oDataSet:AddNew() <Problema aqui>
METHOD BasicType() CLASS XDataField
LOCAL cType := ::cType
// Bug en tipo MONEY para ADS
// Bug on TMemDataSet use AddCalcField >>> wilson alves<<<
IF Empty( cType ) .AND. ( ::oDataSet:ISKindOF('TMemDataSet') .OR.
::oDataSet:oDataSource:IsKindOf( "TAdsDataSource" ))
cType := "N"
ENDIF
DO CASE
CASE cType == "INTEGER" .OR. cType == "SHORTINT" .OR. cType ==
"CURDOUBLE" .OR. ;
cType == "DOUBLE" .OR. cType == "AUTOINC"
cType := "N"
CASE cType == "TIME" .OR. cType == "TIMESTAMP"
cType := "C"
CASE cType == "BINARY" .OR. cType == "IMAGE" .OR. cType == "RAW" .OR.
cType = "B"
cType := "M"
ENDCASE
RETURN cType