Autore Topic: Array di Struttura che in 2^ lettura dà sempre il valore dell'ultimo elemento  (Letto 751 volte)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Come da titolo dell'oggetto, il secondo risultato di questo codice non vi sembra un po'... strano ?    :-X

Codice: [Seleziona]
Public Struct AAAA
  b As Byte
  c As Short
  i As Integer
End Struct


Public Sub Main()

  Dim a As New AAAA
  Dim aa As New AAAA[]
  Dim i As Integer
 
  For i = 0 To 7
    aa.Push(a)
    Valorizza(i, aa[i])
    Print aa[i].b,      ' prima lettura
  Next

Print
Print

  For i = 0 To 7
    Print aa[i].b,      ' seconda lettura
  Next

End


Private Procedure Valorizza(c As Integer, s As AAAA)
 
  s.b = 4 * c
 
End
« Ultima modifica: 06 Agosto 2019, 12:17:11 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Dunque... il risultato non è per nulla strano.

Ho posto la questione sulla Mailing-List ufficiale, e mi viene giustamente risposto così:

   https://lists.gambas-basic.org/pipermail/user/2019-August/067771.html

La cosa più preoccupante è che io conoscevo già la questione e quella procedura da adottare.
Avevo infatti brevente illustrato l'argomento nella Wiki, mettendo in grassetto proprio la soluzione al problema !!!

   https://www.gambas-it.org/wiki/index.php?title=Strutture:_dichiarazione_ed_uso#Vettori_con_numero_di_elementi_indefinito

...ma l'avevo completamente dimenticato !   :-\

Voi dite che devo preoccuparmi ?  :-X
« Ultima modifica: 06 Agosto 2019, 15:34:00 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.728
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Citazione
Voi dite che devo preoccuparmi ?  :-X
Benvenuto. Rilassa le spalle, respira col naso utilizzando il diaframma....
Non ti preoccupare ne avvilire, è un fenomeno naturale!
Si chiama vecchiaia e guarda, io sono uno dei migliori interpreti!
 :P

Coraggio! capita anche ai migliori!!
 :ciao:


PS: che San Midi ti protegga fratello!
 sanmidi
« Ultima modifica: 06 Agosto 2019, 17:14:26 da kicco »
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
...ma l'avevo completamente dimenticato !   
Voi dite che devo preoccuparmi ?

Non ti dovresti preoccupare perché più avanti si guarisce.
Infatti poi ci si dimentica di aver dimenticato  ;D
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
 sanmidi

O San Midi benedetto,
or' che altrove si mena la mia mente,
fa' che non diventi io così reietto,
ma a te devoto sia sempre e solamente.
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »