perche' nella seguente procedura infilo con successo elementi nel vettore di "strutture" ... e dal debug sembrano tutti "nodi" diversi, ma poi il vettore risultante a piu' copie dello stesso elemento?
'------ Struttura dati della playlist sull'HARD DISK ---
Public Struct LocalClip
Indice As Integer
Path As String
Data As Date
End Struct
Public LocalPlaylist As New LocalClip[] 'Playlist sul FILE server .... nota ci serve il NEW senno' non lo crea in memoria e non ci accedo
'////// Struttura dati della playlist sull'HARD DISK ////
Public Sub LoadLocalPlaylist(MediaChannel As String, When As Date)
Dim MediaRoot As String 'la root della playlist di oggi
Dim Giorno As String
Dim Clips As String[] 'la lista dei file contenuti in mediaroot (ovvero gli mlt di oggi per il canale in esame)
Dim ClipDaAggiungere As New LocalClip 'aggiungero' una clip al vettore delle clip in playlist sul file server ma che FORSE devono essere aggiunte al playback server
Dim I As Integer
Dim DataClip As Date 'estrae dal nome del file la data (ora e giorno) di sua competenza
Giorno = Format(When, "yyyymmdd")
MediaRoot = ShareName & "/" & MediaChannel & "/MEDIA/" & Giorno & "/"
Try clips = Dir(MediaRoot, "*.mlt").Sort(gb.Ascent) 'carico tutti gli mlt di oggi ... in ordine crescente
If Error Then
'puo' essere che la directory non esista, non e' stata fatta alcuna playlist per questo giorno (oggi)
Print "No playlist for today (" & Now & ")"
Return 'non c'e' nulla da caricare
Endif
If clips.Count = 0 Then Return 'non ci sono nuove clip nella cartella di OGGI
'svuota il vettore della playlist locale in memoria
LocalPlaylist.Clear
For i = 0 To clips.Count - 1
DataClip = DataDellaClip(MediaRoot & clips[i])
'controllo se la CLIP e' "scaduta"
If DateDiff(DataClip, When, gb.Second) <= 0 Then 'la scadenza e' parametrica rispetto alla chiamata (potrei voler caricare la playlist di ieri ... normalmente e' ad ADESSO ....
ClipDaAggiungere.Data = DataClip
ClipDaAggiungere.Path = MediaRoot & clips[i]
ClipDaAggiungere.Indice = i
LocalPlaylist.Add(ClipDaAggiungere, i)
Endif
Next
End
provero' a mettere
For i = 0 To clips.Count - 1
DataClip = DataDellaClip(MediaRoot & clips[i])
'controllo se la CLIP e' "scaduta"
If DateDiff(DataClip, When, gb.Second) <= 0 Then 'la scadenza e' parametrica rispetto alla chiamata (potrei voler caricare la playlist di ieri ... normalmente e' ad ADESSO ....
ClipDaAggiungere=new LocalClip
ClipDaAggiungere.Data = DataClip
ClipDaAggiungere.Path = MediaRoot & clips[i]
ClipDaAggiungere.Indice = i
LocalPlaylist.Add(ClipDaAggiungere, i)
Endif
Next