Le variabili

7.6.1/1
Il gestore di variabili in memoria permette di memorizzare strutture annidate complesse.
Per questo motivo è così strutturato:


L'array delle variabili risiede in sSoap.dmiVar (EHS_VAR)
EHS_VAR contiene due strutture:


typedef struct {
EHS_ELEMENT sElement; // Descrizione del primo elemento o elementi
EHS_CONTAINER sContainer; // Contenitore dei dati della variabile
} EHS_VAR;



sElement contiene la definizione della variabile, tipo, nome, NameSpace ed altri dati.
I tipi possibli sono:

sElement è la sola definizione di come sarà l'elemento, a sua volta può contenere altri sElement numerati in iElements e inseriti nell'array arElement.

Nota: arsElement è void *, ma dovrebbe essere EHS_ELEMENT * , ma non posso inserire l'elemento in se stesso (!).
Il concetto è che l'elemento viene definito in tutte le su parti complesse con EHS_ELEMENT e i dati vengono inseriti nei contenitori EHS_CONTAINER; questo avviene perchè potrei avere degli array e quindi a stessa definizione dell'elemento più valori.
sContainer contiene il "dato" l'informazione e può essere: dato singolo, array di stringhe o array di dati complessi.

typedef struct {
EleType iType;
SINT iLength; // Lunghezza (numero di elementi se array o array di tipo complesso)
CHAR szLength[10]; // Mi serve per il ritorno se richiesta
void * pValue; // NOTA:
// Se datosingolo ptr a stringa iLength=Lunghezza dato
// se array puntatore a array di stringhe iLength=Numero di elementi
// se complesso, puntatore ad array di elementi array iLength=Numero di elementi
} EHS_CONTAINER;
Easyhand C/C++: Le variabili | Last modified: 14/01/2011 16.17.40 Europe/Rome | #1.803
P.. 1259
Easyhand C/C++
Una mano alle tue idee.
Privacy Policy