diff --git a/rtl/objpas/varutils.inc b/rtl/objpas/varutils.inc index eea83247c5..48d25b6abc 100644 --- a/rtl/objpas/varutils.inc +++ b/rtl/objpas/varutils.inc @@ -350,34 +350,32 @@ Const ARR_NONE,ARR_NONE,ARR_NONE,ARR_NONE); Function SafeArrayCreate(VarType, Dim: SizeInt; const Bounds: TVarArrayBoundArray): PVarArray;stdcall; -var - res : HRESULT; - I : SizeInt; -begin - Result:=nil; - if Not (VarType in Supportedpsas) Then - exit; - Res:=SafeArrayAllocDescriptor(Dim, Result); - if Res<>VAR_OK then - exit; - With Result^ do - begin - DimCount:=Dim; - Flags:=psaElementFlags[VarType]; - ElementSize:=psaElementSizes[VarType]; + var + res : HRESULT; + I : SizeInt; + begin + Result:=nil; + if Not (VarType in Supportedpsas) Then + exit; + Res:=SafeArrayAllocDescriptor(Dim, Result); + if Res<>VAR_OK then + exit; + Result^.DimCount:=Dim; + Result^.Flags:=psaElementFlags[VarType]; + Result^.ElementSize:=psaElementSizes[VarType]; for i:=0 to Dim-1 do begin - Bounds[i].LowBound:=Bounds[Dim-I-1].LowBound; - Bounds[I].ElementCount:=Bounds[Dim-I-1].ElementCount; + Result^.Bounds[i].LowBound:=Bounds[Dim-I-1].LowBound; + Result^.Bounds[I].ElementCount:=Bounds[Dim-I-1].ElementCount; end; - end; - res:=SafeArrayAllocData(Result); - if res<>VAR_OK then - begin - SafeArrayDestroyDescriptor(Result); - Result:=nil; - end; -end; + res:=SafeArrayAllocData(Result); + if res<>VAR_OK then + begin + SafeArrayDestroyDescriptor(Result); + Result:=nil; + end; + end; + Function SafeArrayAllocDescriptor(DimCount: SizeInt; var psa: PVarArray): HRESULT;stdcall; begin @@ -720,7 +718,10 @@ end; {$endif HASVARIANT} { $Log$ - Revision 1.23 2005-03-28 17:04:58 florian + Revision 1.24 2005-03-28 21:52:43 florian + * SafeCreateArray fixed + + Revision 1.23 2005/03/28 17:04:58 florian * compilation on non win32 fixed Revision 1.22 2005/03/28 13:38:05 florian