Raccomandazioni sull'aggiornamento: evitare l'impiego di matrici e di stringhe a lunghezza fissa in tipi definiti dall'utente
Aggiornamento: novembre 2007
In seguito alle modifiche apportate, che garantiscono la completa compatibilità delle matrici e delle strutture di Visual Basic 2008 (note in precedenza come tipi definiti dall'utente) con altri linguaggi di Visual Studio, le stringhe a lunghezza fissa non sono più supportate. Nella maggior parte dei casi ciò non costituisce un problema, in quanto esiste una classe di compatibilità che fornisce il comportamento delle stringhe a lunghezza fissa; pertanto il codice seguente:
Dim FixedLengthString As String * 100
viene aggiornato in:
Dim FixedLengthString As New VB6.FixedLengthString(100)
Le stringhe a lunghezza fissa rappresentano tuttavia un problema quando sono utilizzate nelle strutture, perché la classe delle stringhe a larghezza fissa non viene creata automaticamente con la creazione della struttura. Allo stesso modo, anche le matrici di dimensione fissa non vengono create contemporaneamente alla creazione della struttura.
Quando si aggiorna il codice, i tipi definiti dall'utente con stringhe o matrici a lunghezza fissa verranno convertiti in strutture e accompagnati da un commento che invita a inizializzare la stringa o la matrice a lunghezza fissa prima di fare riferimento alla struttura nel codice. È possibile evitare questa modifica cambiando i tipi definiti dall'utente di Visual Basic 6.0 in modo da utilizzare le stringhe invece delle stringhe a lunghezza fissa e le matrici non inizializzate invece di quelle a dimensione fissa. Di seguito è riportato un esempio:
Private Type uType
anArray(5) As Integer
aFixedString As String * 100
End Type
Sub SomeFunction()
Dim aVariable As uType
End Sub
può essere modificato in:
Private Type uType
anArray() As Integer
aFixedString As String
End Type
Sub SomeFunction()
Dim aVariable As uType
ReDim aVariable.anArray(5) As Integer
aVariable.aFixedString = String$(100, " ")
End Sub
Vedere anche
Altre risorse
Raccomandazioni relative al linguaggio in funzione dell'aggiornamento