Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Records von Delphi in VB6 verwenden

  Alt 22. Feb 2015, 20:03
Wenn ich mir Int64 und UInt64 ansehe, hätte ich schon fast gedacht, da müsste Int64 besser passen (Vorzeichen-Bit, aber ...

... Currency wird als Container für 8 Bytes ge(miss)braucht, von daher würde ich da auf jeden Fall mal Int64 gegen UInt64 bzw. Cardinal (das Gleiche in grün) tauschen.

Delphi-Quellcode:
type
    PMPEGAudioAttributes = ^TMPEGAudioAttributes;
    TMPEGAudioAttributes = packed record
        Position: UInt64; //* Position of header in bytes
        Header: DWord; //* The Headers bytes
        FrameSize: Integer; //* Frame's length
        Version: TMPEGVersion; //* MPEG Version
        Layer: TMPEGLayer; //* MPEG Layer
        CRC: LongBool; //* Frame has CRC
        BitRate: DWord; //* Frame's bitrate
        SampleRate: DWord; //* Frame's sample rate
        Padding: LongBool; //* Frame is padded
        _Private: LongBool; //* Frame's private bit is set
        ChannelMode: TMPEGChannelMode; //* Frame's channel mode
        ModeExtension: TMPEGModeExtension; //* Joint stereo only
        Copyrighted: LongBool; //* Frame's Copyright bit is set
        Original: LongBool; //* Frame's Original bit is set
        Emphasis: TMPEGEmphasis; //* Frame's emphasis mode
        VBR: LongBool; //* Stream is probably VBR
        FrameCount: UInt64; //* Total number of MPEG frames (by header)
        Quality: Integer; //* MPEG quality
        Bytes: UInt64; //* Total bytes
    end;
Edit

Ok, hört sich auch irgendwie nach Voodoo an (wenn ich so länger drüber sinniere).

Wie sind denn diese TMPEG... Typen definiert? Enums, Records, ...?
Bei Enums muss man aufpassen, denn die können unterschiedliche Byte-Längen haben (wenn man da nicht einwirkt).
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (22. Feb 2015 um 20:14 Uhr)
  Mit Zitat antworten Zitat