Code:
#define MCI_STATE_STOP 0x00000001L
Delphi-Quellcode:
const
MCI_STATE_STOP = $00000001;
Das L sagt in C das es ein 32-Bit-Wert ist (long).
In Delphi ist die Konstante sowieso 32 Bit.
Einen Typ fuer die Konstante zu vergeben ist kontraproduktiv.
Code:
typedef struct tagMCI_CONTROL_DISPLAY_PARMS
{
DWORD dwCallback;
DWORD dwState;
} MCI_CONTROL_DISPLAY_PARMS, *PMCI_CONTROL_DISPLAY_PARMS, FAR *LPMCI_CONTROL_DISPLAY_PARMS;
Besonderst das "tagMCI_CONTROL_DISPLAY_PARMS" nach dem "typedef struct",
sowie dieses "FAR *LPMCI_CONTROL_DISPLAY_PARMS"-Dinges machen Probleme..
Fue tagMCI_CONTROL_DISPLAY_PARMS gibt es in Delphi ueberhaupt keine Entsprechung.
Es ist irrelevant. Bei C wuerde es erlauben einen Zeiger auf das Struct im Struct zu deklarieren.
Der Name des Struct-Typs steht ja erst am Ende (MCI_CONTROL_DISPLAY_PARMS) und ist fuer die Deklaration des Pointerelementes noch nicht vorhanden.
Delphi-Quellcode:
type
PMCI_CONTROL_DISPLAY_PARMS = ^MCI_CONTROL_DISPLAY_PARMS;
LPMCI_CONTROL_DISPLAY_PARMS = ^MCI_CONTROL_DISPLAY_PARMS;
Das FAR sagt nur das es ein 32-Bit Pointer ist und ist genau wie bei Delphi veraltet und irrelevant.