Einzelnen Beitrag anzeigen

HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
972 Beiträge
 
Delphi 6 Professional
 
#32

AW: Binärdatei Record auslesen\zuweisen

  Alt 17. Apr 2018, 16:18
Hmm..

Wenn ich dass richtig sehe, sind die Array Definitionen falsch!

Richtig müsste es so sein:
(Oben das Original)

Delphi-Quellcode:
{
MAX_PATH = 260;

TYPE STChannel
    ID        AS LONG
    streamName AS ASCIIZ * %MAX_PATH
    freq      AS SINGLE
    volume    AS SINGLE
    pan        AS SINGLE
    mute      AS BYTE
    solo      AS BYTE
    duration  AS LONG
    percent    AS LONG
    grouplevel AS SINGLE
    led        AS BYTE
    rMeterValue AS SINGLE
    reserved  AS ASCIIZ * 25 '// Total 320 bytes.
END TYPE
}


type
  TSTChannel = packed record
    ID : LONGINT;
    streamName : Array [0..MAX_PATH-1] of AnsiChar;
    freq : single;
    volume : single;
    pan : single;
    mute : BYTE;
    solo : BYTE;
    duration : LONGINT;
    percent : LONGINT;
    grouplevel : single;
    led : BYTE;
    rMeterValue : single;
    reserved : Array [0..24] of AnsiChar;
  end;
So kommt auch die Länge von 320 Bytes hin...

Ein C-Array von 25er Länge ist in Delphi ein Array von 0..24 !

(Erstellt mit D6)
  Mit Zitat antworten Zitat