ARMaker

4.3.2/14
Crea un array

Sintassi

SINT ARMaker(SINT cmd,void *ptr)

Parametri


Valori di ritorno

Ritorna un Handle di dove si trova l'array

Commenti

l'array viene allocato esclusivamente in tipo di memoria Heap.

si possono creare due tipi di array: array con elementi di lunghezza fissa o array di stringhe.

la funzione di creazione dell'array avviene in tre fasi:

  1. apertura: avviene passando la macro WS_OPEN e la lunghezza della stringa. se la lunghezza della stringa non viene indicata, si crea un array di stringhe di lunghezza variabile in cui ognuna terminerà con zero.
  2. WS_ADD aggiunta degli elementi (elemento puntato da ptr)
  3. WS_CLOSE chiusura con ritorno dell'handle dell'array.
    In fase di chiusura se viene passato un argomento in ptr, questi sarà il nome assegnato alla memoria e la funzione ritornerà l'handle della memoria contenente l'array.
    L'array è ottenibile quindi usanto memo_heap() dell'handle ritornato; in questo caso l'handle dovrà essere liberato usando la funzione memo_libera().

Nel caso si passi nulla come nome della memoria (ptr=NULL), la funziona ritorna direttamente il puntatore all'array che andrà usato con un casting (Esempio ar=(EH_AR) ARMaker(WS_CLOSE,NULL);)
In questo caso la memoria impegnata dovrà essere liberata con EhFree(ar).


Non è possibile usare un richiesta ARMaker all'interno di un'altra richiesta, la funzione non è compatibile a programmi ricorsivi o multithread usando una struttura statica all'interno.
In caso di necessità usare ARPtrMaker o ARPtrMakerEx()
Easyhand C/C++: ARMaker | Last modified: 19/01/2011 18.30.45 Europe/Rome | #1.160
P.. 139
Easyhand C/C++
Una mano alle tue idee.
Privacy Policy