xsharp.eu • ARRAY OF <T>
Page 1 of 1

ARRAY OF <T>

Posted: Sun May 31, 2020 5:34 pm
by Fab64
Salve a tutti
Dopo aver fatto pratica sugli ARRAY volevo vedere la sintassi degli array Tipizzati ( attualmente uso l'ultima release pubblica di X# )
questo breve programmino di test viene compilato senza errori ma quando lo eseguo segnala l'errore all'istruzione A1d[II] := II

LOCAL A1, A2, A3, A4 AS ARRAY
LOCAL A1d, A2d, A3d, A5 AS ARRAY OF DWORD
LOCAL II, AS DWORD

A1 := ArrayCreate(300000) // A1 inizializzato a 300000 elementi
A1d := ArrayCreate<DWORD>(300000) // A1d inizializzato a 0 elementi
FOR II := 1 UPTO 300000
A1[II] := II
A1d[II] := II // errore runtime
NEXT

l' errore è questo:

Hello X# runtime!

Eccezione non gestita: System.ArgumentOutOfRangeException: Argomento specificato
non compreso nell'intervallo.
in XSharp.__ArrayBase`1.set_Item(Int32 index, T value)
in XSharpRuntimeApp1.Exe.Functions.Start() in C:XIDEProjectsProject1Appli
cationsXSharpRuntimeApp1PrgStart.prg:riga 17

Ovviamente perchè A1d attualmente non ha elementi ( array vuoto)

A questo punto mi chiedevo cosa ho sbagliato ad inizializzare l'array

Saluti,
Fabrizio

ARRAY OF <T>

Posted: Sun May 31, 2020 7:08 pm
by robert
Fabricio,

This is a bug in the ArrayCreate<T> function.

Try this in stead (for now):

Code: Select all

A1d := __ArrayBase<DWORD>{300000, TRUE}
We will fix the ArrayCreate<T> for the next build.

Robert

ARRAY OF <T>

Posted: Sun May 31, 2020 8:45 pm
by Fab64
Thank you, Robert.

Fabrizio