Danke, darauf wäre ich nie gekommen.
Erst nachdem ich mir die jpeglib.h nochmal genau angeschaut habe, sah ich deinen Hinweis bestätigt, dass free_in_buffer und bytes_in_buffer vom Typ size_t sind, was NativeUInt in der Delphi-Welt bedeutet. (um ganz präzise zu sein)
Code:
struct jpeg_destination_mgr {
JOCTET *next_output_byte; /* => next byte to write in buffer */
size_t free_in_buffer; /* # of byte spaces remaining in buffer */
void (*init_destination) (j_compress_ptr cinfo);
boolean (*empty_output_buffer) (j_compress_ptr cinfo);
void (*term_destination) (j_compress_ptr cinfo);
};
/* Data source object for decompression */
struct jpeg_source_mgr {
const JOCTET *next_input_byte; /* => next byte to read from buffer */
size_t bytes_in_buffer; /* # of bytes remaining in buffer */
void (*init_source) (j_decompress_ptr cinfo);
boolean (*fill_input_buffer) (j_decompress_ptr cinfo);
void (*skip_input_data) (j_decompress_ptr cinfo, long num_bytes);
boolean (*resync_to_restart) (j_decompress_ptr cinfo, int desired);
void (*term_source) (j_decompress_ptr cinfo);
};
Folgende beiden Zeilen müssen dann aber auch korrigiert werden, damit es perfekt ist:
Code:
jpeg_CreateCompress: procedure(cinfo: j_compress_ptr; version: integer; structsize: NativeUInt); cdecl;
jpeg_CreateDecompress: procedure(cinfo: j_decompress_ptr; version: integer; structsize: NativeUInt); cdecl;
Danke,
Cypheros