Originariamente inviato da PapaIndia
Ciao a tutti è la prima volta che mi trovo quì.
Ho un problemone di compatibilità fra VB5 e .NET ora vi dico:
In Vb5 avevo un programma che scriveva e leggeva un file ad accesso casuale. Il record era formato da due vettori a lunghezza fissa, uno di stringhe a lunghezza fissa e l'altro di single.
Ora riesco a scrivere il file con .Net in modo che da Vb5 posso leggerlo ma non lo leggo con . Net perchè genera errore.
Allego il codice e la segnalazione di errore.
codice:
Module Module1

   Public Structure record

      <VBFixedArray(23), VBFixedString(16)> Public CampoStringa() As 
String

      <VBFixedArray(159)> Public CampoSingle() As Single

      Public Sub Initialize()
         ReDim CampoStringa(23)
         ReDim CampoSingle(159)
      End Sub
   End Structure

   Public MachineRecord As New record()

End Module

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles MyBase.Load

      MachineRecord.Initialize()

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles Button2.Click

      Dim aa As Integer = (MachineRecord.CampoSingle.Length * 4) + 
(MachineRecord.CampoStringa.Length * 16)

      FileOpen(1, "readers.vbnet", OpenMode.Random, , , 
Len(MachineRecord)) 'apro il file da visualizzare

      Dim a As Int16

      For a = 0 To 159
         MachineRecord.CampoSingle(a) = a * 10
      Next

      FilePut(1, MachineRecord, 1)

      FileClose(1)

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles Button1.Click
     
      FileOpen(1, "readers.vbnet", OpenMode.Random, , , 
Len(MachineRecord)) 'apro il file da visualizzare
      
      FileGet(1, MachineRecord, 1)

      Label1.Text = Str(MachineRecord.CampoSingle(Val(TextBox1.Text)))

      Label2.Text = MachineRecord.CampoStringa(Val(TextBox2.Text))

      FileClose(1)

End Sub

Messaggio di errore su Fileget(....):

Eccezione non gestita di tipo "System.IO.IOException" in 
microsoft.visualbasic.dll

Informazioni aggiuntive: Lunghezza del record non valida.
intanto riscrivo con i tag per leggere meglio, adesso do uno sguardo e vedo se posso darti qualche dritta