Compartilhar via


Recomendação de atualização: Evite matrizes e strings de comprimento fixo em tipos definidos pelo usuário

Devido às alterações feitas que permitem que Visual Basic 2008 matrizes e estruturas (conhecidas sistema autônomo tipos definidos pelo usuário) para ser totalmente compatível com outras linguagens do Visual Studio, seqüências de caracteres de comprimento fixo já não são suportadas no linguagem. Na maioria dos casos este não é um problema, porque há uma classe de compatibilidade que fornece comportamento de string de comprimento fixo; então o código:

Dim FixedLengthString As String * 100

atualizações para o seguinte:

Dim FixedLengthString As New VB6.FixedLengthString(100)

Entretanto, strings de comprimento fixo causam um problema quando usadas em estruturas.O problema surge porque a classe string de comprimento fixo é criada automaticamente quando a estrutura é criada.Da mesma forma, matrizes de tamanho fixo não são criadas quando a estrutura é criada.

Quando seu código é atualizado, tipos definidos pelo usuário com matrizes ou strings de tamanho fixo serão convertidos a estruturas e marcados com um comentário dizendo para você inicializar a matriz ou a string de tamanho fixo antes de referenciar a estrutura no código.Entretanto, você pode se proteger dessa modificação, alterando seu tipos definidos pelo usuário no Visual Basic 6.0 para usar strings em vez de strings de comprimento fixo, e matrizes não inicializadas em vez de matrizes de tamanho fixo.Por exemplo:

Private Type uType
    anArray(5) As Integer
    aFixedString As String * 100
End Type
Sub SomeFunction()
    Dim aVariable As uType
End Sub

pode ser alterada para:

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

Consulte também

Outros recursos

Recomendações de Linguagem para Atualização