Einzelnen Beitrag anzeigen

Robert Marquardt
(Gast)

n/a Beiträge
 
#9

Re: Header in Delphi konvertieren

  Alt 2. Aug 2007, 21:17
Es gibt einen wichtigen Unterschied bei den Enums. In C ist Wmpio_errors immer 4 Bytes lang. In Delphi erst mal nur 1 Byte. Ein {$MINENUMSIZE 4} vor der Deklaration in Delphi behebt das Problem.

Code:
int    * pts_list;
const unsigned char * palette;
const char * name;
const char ** wads_list;
double * ambient;
const int  * fog1;
wmpio_uvw * uv_list; // wmpio_uvw ist ein struct ( record )
double skills[20]; // ich nehme an, das das ein Array ist
Das ist ein interessantes Sortiment von Variablendeklarationen.
Delphi-Quellcode:
var
  pts_list: PInteger; // hier wird affensichtlich ein dynamisch alloziiertes Array von Integern abgelegt
  palette: PChar; // das const besagt in C das die Elemente auf die dr Pointer zeigt nicht veraendert werden duerfen. Der Pointer aber schon.
  name: PChar;
  wads_list: PPChar; // mit "PPChar = ^PChar,". Basis fuer ein dynamisch alloziiertes Array of C strings bei dem die Chars nicht veraendert werden koennen, aber sowohl die PChars als auch wads_list schon.
  ambient: PDouble; // hier wird affensichtlich ein dynamisch alloziiertes Array von Doubles abgelegt
  fog1; // das ksann man wohl jetzt selbst verstehen
  uv_list: Pwmpio_uvw; // mit "Pwmpio_uvw = ^wmpio_uvw;"
  skills: array [0..19] of Double; // ich nehme an, das das ein Array ist. Genau.
  Mit Zitat antworten Zitat