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?
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?