Einzelnen Beitrag anzeigen

teebee

Registriert seit: 17. Jan 2003
Ort: Köln
460 Beiträge
 
Delphi 6 Professional
 
#6
  Alt 20. Mär 2003, 14:32
Hi Minz,

Wenn Du TSoundFlag deklarierst, wird z.B. SND_LOOP vom Compiler intern als 2 betrachtet, und hat mit dem SND_LOOP aus mmsystem nix zu tun (ist dort als 8 definiert).

Warum gehst Du den umständlichen Weg über eine neue Typdefinition überhaupt, die Konstanten SND_ASYNC usw. sind in mmsystem doch schon definiert.

Du wirst um If-Abfragen nicht herumkommen, wenn Du Dir Dein flag zusammenbastelst. (Ist zumindest IMHO nicht umständlicher als Dein Weg.)

Beispiel:

flag := 0;
If async Then flag := flag Or SND_ASYNC;
If loop Then flag := flag Or SND_LOOP;
...
sndPlaySound('xyz.wav',flag);

Funktioniert wohlgemerkt nur _ohne_ Deine Typdefinition.

Gruss, teebee
  Mit Zitat antworten Zitat