Hallo,
ich versuche gerade ein Programm von VB6 nach VB.Net zu konvertieren.
Die alte Version verwendete ein Array eines Benutzerdefinierten Typs um Daten strukturiert in einer Binärdatei abzulegen.
Um auf diese Daten in den Dateien nun zugreifen zu können, müßte ich diese Struktur nachbilden.
Wenn ich das Ganze mit initialisiere und dann mit in der Größe anpasse erhalte ich zwar mein Array, aber alle Bestandteile der Structur bleiben Nothing.
ein läßt er leider nicht zu.
Wie müßte die "richtige" Initialisierung aussehen?
Vielen Dank für eure Tips.
ich versuche gerade ein Programm von VB6 nach VB.Net zu konvertieren.
Die alte Version verwendete ein Array eines Benutzerdefinierten Typs um Daten strukturiert in einer Binärdatei abzulegen.
Visual Basic-Quellcode
- Public Type TMischung
- Name1 As String * 23
- Name2 As String * 23
- Material(8) As String * 23
- Anteil(8) As Double
- KB_Breite(8) As Double 'neu ab v 0.6
- KB_Hoehe(8) As Double 'neu ab v 0.6
- Heizwert(8) As Double 'neu ab v 0.6
- CO2(8) As Double 'neu ab v 0.6
- End Type
- Public Mischung() As TMischung
- später dann, je nach größe der Datei Redim Mischung(x)
Um auf diese Daten in den Dateien nun zugreifen zu können, müßte ich diese Struktur nachbilden.
VB.NET-Quellcode
- <StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Ansi)> _
- Public Structure TMischung
- <VBFixedString(22)> Dim Name1 As String
- <VBFixedString(22)> Dim Name2 As Char
- <VBFixedArray(8 * 23)> Dim Material() As String
- <VBFixedArray(8)> Dim Anteil() As Double
- <VBFixedArray(8)> Dim KB_Breite() As Double 'neu ab v 0.6
- <VBFixedArray(8)> Dim KB_Hoehe() As Double 'neu ab v 0.6
- <VBFixedArray(8)> Dim Heizwert() As Double 'neu ab v 0.6
- <VBFixedArray(8)> Dim CO2() As Double 'neu ab v 0.6
- Sub New(ByVal x As Boolean)
- If x Then
- Name1 = String.Empty
- Name2 = String.Empty
- ReDim Material(8)
- For i0 As Integer = 0 To Material.GetLength(0) - 1
- Material(i0) = String.Empty
- Next
- ReDim Anteil(8)
- ReDim KB_Breite(8)
- ReDim KB_Hoehe(8)
- ReDim Heizwert(8)
- ReDim CO2(8)
- End If
- End Sub
- End Structure
Wenn ich das Ganze mit initialisiere und dann mit in der Größe anpasse erhalte ich zwar mein Array, aber alle Bestandteile der Structur bleiben Nothing.
ein läßt er leider nicht zu.
Wie müßte die "richtige" Initialisierung aussehen?
Vielen Dank für eure Tips.