Announcement

Collapse
No announcement yet.

mixerGetDevCaps()-record-Problemchen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • mixerGetDevCaps()-record-Problemchen

    Tach

    Ich weiss nich, ob es an mir oder D2005 liegt, dass die Funktion mixerGetDevCaps() fehlerhafte Werte im record 'mixcap' liefert:

    <pre>
    uses ... mmsystem;

    ...

    procedure TForm1.btnTestClick(Sender: TObject);
    var
    error: MMRESULT;
    hMixerHandle: HMIXER;
    mixcap: TMIXERCAPS;
    begin
    error := mixerOpen(hMixerHandle, 0, 0, 0, 0);
    if error <> MMSYSERR_NOERROR then
    raise Exception.Create('mixeropen()');
    error := mixerGetDevCaps(hMixerHandle, mixcap, sizeof(mixcap));
    if error <> MMSYSERR_NOERROR then
    raise Exception.Create('mixerGetDevCaps');
    end;
    </pre>

    Es ist eine normale VCL Formularanwendung mit .NET. In mixcap steht:
    <pre>
    wMid: 1
    wPid: 104
    vDriverVersion: 1290
    szPname[MAXPNAMELEN]: "Sound "
    fdwSupport: 0
    cDestinations: 0
    </pre>
    Das Problem ist, dass in szPname eigentlich "Sound Blaster Live! 24-bit" stehen muesste und in cDestinations darf nie eine 0 stehen, laut Dokumentation.
    Unter D5 hatte ich keine Probleme mit diesen Funktionen.
    Ulkig ist noch, dass mir der Editor rote Schlangenlinien unter die beiden Creates macht, obwohl der Compiler keine Meldungen wirft.
    Mach ich da was falsch?
Working...
X