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.

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.