comment utiliser Allegro dans une DLL ? - C - Programmation
MarshPosté le 14-07-2009 à 23:29:26
Bonjour !
Je veux utiliser Allegro dans ma propre DLL. Je veux utiliser les fonctions de «allegro.h » et «alfont.h» dans la procédure de ma DLL. La procédure de ma DLL que j’appellerai depuis une application VB2008 doit avoir pour paramètre d’entrées (Char*, int) et me retourner un (pointeur) Bitmap ou tableau d’entiers.
Je vous montre le test que j’ai fait avec DEV C++ et VB2008 , mais qui malheureusement ne fonctionne pas ! ma DLL est compilée sans erreur sans warnings sous DEV C++. mais quand je fais l'appel de ma DLL depuis mon application VB2008 çà génère une erreur
dll.h
Code :
#ifndef _DLL_H_
#define _DLL_H_
// entête des fonctions
__declspec (dllexport) int GetBitmap (char*, int);
#endif// _DLL_H_
dllmain.c
Code :
#include "dll.h"
#include <stdio.h>
#include <stdlib.h>
#include <allegro.h>
#include <alfont.h>
#include <winalleg.h>
__declspec (dllexport) int GetBitmap (char *_ch , int _h){
BITMAP *bmp ;
ALFONT_FONT *user_font;
int _w=0;
//format pour le codage du texte (ASCII, ascii normal)
set_uformat(U_ASCII);
allegro_init();//initialise allegro
alfont_init();//initialise la font
//Charge une police
user_font = alfont_load_font("times.ttf" );
// change la taille de police
alfont_set_font_size(user_font, _h);
//créé un bitmap
_w = alfont_text_length(user_font, _ch);
bmp=create_bitmap(_w,_h);
//initialise le bitmap a 0
clear_to_color(bmp,0);
//Déssine "_ch" a patir de la ppolice "user_font" ds le bitmap "bmp" avec la couleur "makecol(r, g, b)"
Marsh Posté le 14-07-2009 à 23:29:26
Bonjour !
Je veux utiliser Allegro dans ma propre DLL. Je veux utiliser les fonctions de «allegro.h » et «alfont.h» dans la procédure de ma DLL.
La procédure de ma DLL que j’appellerai depuis une application VB2008 doit avoir pour paramètre d’entrées (Char*, int) et me retourner un (pointeur) Bitmap ou tableau d’entiers.
Je vous montre le test que j’ai fait avec DEV C++ et VB2008 , mais qui malheureusement ne fonctionne pas !
ma DLL est compilée sans erreur sans warnings sous DEV C++. mais quand je fais l'appel de ma DLL depuis mon application VB2008 çà génère une erreur
dll.h
dllmain.c
VB2008
Merci d'avance !