'Das berichtigte Beispiel aus der Befehlsreferenz ein wenig aufgemotzt: 'Initialisierung eines UDT-Arrays in einem Unterprogramm Type UDT a As Integer b As Single c As ZString*10 'Die Verwendung von ZString hat Vorteile bei der Ausgabe :D End Type Dim outArray(5) As Integer Dim Shared outUDT(5) As UDT Ptr Dim erster As Byte, zweiter As String*2 Dim DateiNummer As Integer Sub InitIt() Dim i As Integer For i=LBound(outUDT) To UBound(outUDT) outUDT(i)=CAllocate(1, Len(UDT)) With *outUDT(i) .a=i .b=Atn(1)*i .c="Test" &i End With Next End Sub erster = 33 zweiter = "33" InitIt() DateiNummer=FreeFile Open "file.ext" For Binary As #DateiNummer Put #DateiNummer,, erster Put #DateiNummer,, zweiter Put #DateiNummer,, outArray() Put #DateiNummer,, outUDT() Close #DateiNummer Open "file.ext" For Binary As #DateiNummer Get #DateiNummer,, erster Get #DateiNummer,, zweiter Get #DateiNummer,, outArray() Get #DateiNummer,, outUDT() Close #DateiNummer Print erster, zweiter For DateiNummer=LBound(outUDT) To UBound(outUDT) With *outUDT(DateiNummer) Print .a Print .b Print .c End With Next GetKey