Browse Source

* fix external (patch from Tomas)

peter 21 years ago
parent
commit
ffc095ee05
1 changed files with 50 additions and 41 deletions
  1. 50 41
      packages/extra/mmsystem/mmsystem.pp

+ 50 - 41
packages/extra/mmsystem/mmsystem.pp

@@ -1,3 +1,6 @@
+{
+  $Id$
+}
 {*********************************} (*********************************)
 {*********************************} (*********************************)
 { Generated by c2pas32  v0.9b     } (*     Fixed by P.V.Ozerski      *)
 { Generated by c2pas32  v0.9b     } (*     Fixed by P.V.Ozerski      *)
 { (c) 2001 Oleg Bulychov          } (*     Original C header file    *)
 { (c) 2001 Oleg Bulychov          } (*     Original C header file    *)
@@ -7,6 +10,7 @@
                                     (*********************************)
                                     (*********************************)
 unit mmsystem;
 unit mmsystem;
 {$smartlink on}
 {$smartlink on}
+{$MODE DELPHI}
 interface
 interface
 uses
 uses
  windows;
  windows;
@@ -2149,8 +2153,8 @@ Type // Delphi compatibility
   TMMCKInfo = _MMCKINFO;
   TMMCKInfo = _MMCKINFO;
   pcmwaveformat_tag = PCMWAVEFORMAT;
   pcmwaveformat_tag = PCMWAVEFORMAT;
   TPCMWaveFormat = pcmwaveformat_tag;
   TPCMWaveFormat = pcmwaveformat_tag;
-        
-        
+
+
 
 
 (*////////////////////////////////////////////////////////*)
 (*////////////////////////////////////////////////////////*)
 (* Function prototypes*)
 (* Function prototypes*)
@@ -2771,81 +2775,79 @@ function MEVT_EVENTPARM(x: DWORD): DWORD;
   MEVT_EVENTPARM := x and $00FFFFFF;
   MEVT_EVENTPARM := x and $00FFFFFF;
  end;
  end;
 
 
+type
+ TFourBytes = packed array [0..3] of byte;
+
 function MCI_MSF_MINUTE(msf: longint): byte;
 function MCI_MSF_MINUTE(msf: longint): byte;
- [public, alias: 'Mci_msf_minute'];
- var
-  b:byte absolute msf;
  begin
  begin
-  MCI_MSF_MINUTE := b;
+  MCI_MSF_MINUTE := TFourBytes (msf) [0];
  end;
  end;
 
 
 function MCI_TMSF_TRACK(tmsf: longint): byte;
 function MCI_TMSF_TRACK(tmsf: longint): byte;
- external name 'Mci_msf_minute';
+ begin
+  MCI_TMSF_TRACK := TFourBytes (tmsf) [0];
+ end;
 
 
 function MCI_HMS_HOUR(h: longint): byte;
 function MCI_HMS_HOUR(h: longint): byte;
- external name 'Mci_msf_minute';
+ begin
+  MCI_HMS_HOUR := TFourBytes (h) [0];
+ end;
 
 
 function MCI_MSF_SECOND(msf: longint): byte;
 function MCI_MSF_SECOND(msf: longint): byte;
- [public, alias: 'Mci_msf_second'];
- var
-  b: array[0..1]of byte absolute msf;
  begin
  begin
-  MCI_MSF_SECOND := b[1];
+  MCI_MSF_SECOND := TFourBytes (msf) [1];
  end;
  end;
 
 
 function MCI_TMSF_MINUTE(tmsf: longint): byte;
 function MCI_TMSF_MINUTE(tmsf: longint): byte;
- external name 'Mci_msf_second';
+ begin
+  MCI_TMSF_MINUTE := TFourBytes (tmsf) [1];
+ end;
 
 
 function MCI_HMS_MINUTE(h: longint): byte;
 function MCI_HMS_MINUTE(h: longint): byte;
- external name 'Mci_msf_second';
+ begin
+  MCI_HMS_MINUTE := TFourBytes (h) [1];
+ end;
 
 
 function MCI_MSF_FRAME(msf: longint): byte;
 function MCI_MSF_FRAME(msf: longint): byte;
- [public, alias: 'Mci_msf_frame'];
- var
-  b: array[0..2]of byte absolute msf;
  begin
  begin
-  MCI_MSF_FRAME := b[2];
+  MCI_MSF_FRAME := TFourBytes (msf) [2];
  end;
  end;
 
 
 function MCI_TMSF_SECOND(tmsf: longint): byte;
 function MCI_TMSF_SECOND(tmsf: longint): byte;
- external name 'Mci_msf_frame';
+ begin
+  MCI_TMSF_SECOND := TFourBytes (tmsf) [2];
+ end;
 
 
 function MCI_HMS_SECOND(h: longint): byte;
 function MCI_HMS_SECOND(h: longint): byte;
- external name 'Mci_msf_frame';
+ begin
+  MCI_HMS_SECOND := TFourBytes (h) [2];
+ end;
 
 
 function MCI_MAKE_MSF(m, s, f: byte): longint;
 function MCI_MAKE_MSF(m, s, f: byte): longint;
- [public, alias: 'Mci_make_msf'];
- const
-  b: array[0..3]of byte=(0,0,0,0);
- var
-  l: longint absolute b;
  begin
  begin
-  b[0] := m;
-  b[1] := s;
-  b[2] := f;
-  MCI_MAKE_MSF := l;
+  TFourBytes (Result) [0] := m;
+  TFourBytes (Result) [1] := s;
+  TFourBytes (Result) [2] := f;
  end;
  end;
 
 
 function MCI_MAKE_HMS(h, m, s: byte): longint;
 function MCI_MAKE_HMS(h, m, s: byte): longint;
- external name 'Mci_make_msf';
+ begin
+  TFourBytes (Result) [0] := h;
+  TFourBytes (Result) [1] := m;
+  TFourBytes (Result) [2] := s;
+ end;
 
 
 function MCI_TMSF_FRAME(tmsf: longint): byte;
 function MCI_TMSF_FRAME(tmsf: longint): byte;
- var
-  b: array[0..3]of byte absolute tmsf;
  begin
  begin
-  MCI_TMSF_FRAME := b[3];
+  MCI_TMSF_FRAME := TFourBytes (tmsf) [3];
  end;
  end;
 
 
 function mci_Make_TMSF(t, m, s, f: Byte): Longint;
 function mci_Make_TMSF(t, m, s, f: Byte): Longint;
- var
-  b: array[0..3]of byte;
-  l: longint absolute b;
  begin
  begin
-  b[0] := t;
-  b[1] := m;
-  b[2] := s;
-  b[3] := f;
-  mci_Make_TMSF := l;
+  TFourBytes (Result) [0] := t;
+  TFourBytes (Result) [1] := m;
+  TFourBytes (Result) [2] := s;
+  TFourBytes (Result) [3] := f;
  end;
  end;
 
 
 function DIBINDEX(n: longint): longint;
 function DIBINDEX(n: longint): longint;
@@ -2854,3 +2856,10 @@ function DIBINDEX(n: longint): longint;
  end;
  end;
 
 
 end.
 end.
+{
+  $Log$
+  Revision 1.6  2004-11-22 22:09:12  peter
+    * fix external (patch from Tomas)
+
+
+}