le pb avec ta solution chrisbk c ke je voulais à terme que plusieurs histance de la classe CBmp2Png puissent être déclaré au sein d'un même programme (en fait je projette de faire un activeX se servant de cette classe), or avec le static je ne peux avoir qu'une instance à la fois (car les fonctions statiques n'accède pas au pointeur 'this', sinon ça foire...
sinon par ailleurs j'ai modifier mon code:
" png_ptr = png_create_write_struct( PNG_LIBPNG_VER_STRING, fn, png_my_error, png_my_warning );
/******************************* crut pas propre du tout ******************** /
// on réalloue de l'espace pour y caser notre pointeur d'objet
void* new_png_ptr;
new_png_ptr = realloc(png_ptr, sizeof(MyPngStruct));
if(png_ptr != new_png_ptr) {
strcpy(Error, "Realloc foired" );
return 0;
}
MyPngStruct *my_png_struct = (MyPngStruct*)new_png_ptr;
my_png_struct->CBmp2Pngp = this;
//****************************************************************************/
"
et en fait si ça compile sans prob (dans mes foncs "png_my_error()" et "png_my_warning()" je récupère le pointeur en castant en MyPngStruct) par contre à l'exécution ça foire (truc opération non conforme ou du genre) au moment de l'appel à:
"png_write_info( png_ptr, info_ptr );"
ma struct MyPngStruct est définie comme telle:
"// on simule une struct dérivée de png_structp
typedef struct my_ptr_png_struct_
{
png_structp png_ptr;
CBmp2Png* CBmp2Pngp;
} MyPngStruct;"
any ideas ??
[jfdsdjhfuetppo]--Message édité par ZZZzzz--[/jfdsdjhfuetppo]