> Le 7 oct. 2016 à 12:22, Epperlein, Lutz (agendo) <[email protected]> a
> écrit :
>
> [...] I have declared an array with one dimension in a Compiler_X method but
> in code I declare it again with two dimensions:
> Compiler_X:
> ARRAY TEXT(<>Array2dim;0)
> In Code:
> ARRAY TEXT(<>Array2dim;2;3)
>
> [...]
>
> Any thoughts?
Hi Lutz,
I forbid myself "in code" declaration for array sizing purpose, they _must_
remain distinct. If you are difficult with resizing 2D arrays (I am):
+++
//Arr2D_size (array2D_p;columns_l;lines_l)
C_POINTER($1) //the array
C_LONGINT($2) //number of columns
C_LONGINT($3) //number of lines by column
C_LONGINT($columns_l)
C_LONGINT($i_l)
C_LONGINT($lines_l)
C_POINTER($array2D_p)
C_TEXT($nmc_t)
If (False)
C_POINTER(Arr2D_size ;$1)
C_LONGINT(Arr2D_size ;$2)
C_LONGINT(Arr2D_size ;$3)
End if
//_
$nmc_t:=Current method name
Case of
: (Not(Asserted(Count parameters>2;$nmc_t+" 3 params")))
: (Not(Asserted(Type($1->)=Array 2D;$nmc_t+" $1 must be 2D array")))
: (Not(Asserted($2>=0;$nmc_t+" $2 must be >=0")))
: (Not(Asserted($3>=0;$nmc_t+" $3 must be >=0")))
Else
$array2D_p:=$1
$columns_l:=$2
$lines_l:=$3
CLEAR VARIABLE($array2D_p->)
INSERT IN ARRAY($array2D_p->;1;$columns_l)
For ($i_l;0;$columns_l) //column 0 too
INSERT IN ARRAY($array2D_p->{$i_l};1;$lines_l)
End for
End case
//_
+++
--
Arnaud de Montard
**********************************************************************
4D Internet Users Group (4D iNUG)
FAQ: http://lists.4d.com/faqnug.html
Archive: http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub: mailto:[email protected]
**********************************************************************