Da ich momentan nur Speicherverletzungen bekomme wenn ich diese wrapperfunktionen verwende, muss da irgendwas schon falsch sein.
Hier mal zum Vergleich der c Code:
Delphi-Quellcode:
struct mpstr { char c[40000]; };
typedef BOOL (*INITMP3) (struct mpstr *mp);
typedef void (*EXITMP3) (struct mpstr *mp);
typedef int (*DECODEMP3) (struct mpstr *mp, char *inmemory, int inmemsize,
char *outmemory, int outmemsize, int *done);
Das Problem liegt auf jeden Fall bei dem Pointer Zeugs.