> 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]
**********************************************************************

Reply via email to