pb avec directx et createfont [Delphi] - Delphi/Pascal - Programmation
Marsh Posté le 18-06-2003 à 10:12:25
y a pas une valeur de retour à la fonction, qui pourrait te donner un code d'erreur disant pourquoi il a mis 0 dans ton pointeur ?
Marsh Posté le 18-06-2003 à 11:27:33
pour l'instant le pb semble avoir été résolu en remplacant my_hfont: HFONT; par my_hfont: HWND; et en ajoutant DeleteObject(my_hfont)
enfin je suis pas super convaincu par ce que j'ai fait
Marsh Posté le 18-06-2003 à 11:29:09
à mon avis c'est surtout le DeleteObject qui a son importance... si tu libères jamais les trucs que tu crées, à un moment Windows il en peut plus
Marsh Posté le 18-06-2003 à 11:31:04
je sais bien mais le problème c'est que le deleteobject ne passait pas avant (avec my_hfont: HFONT) ! ;(
Marsh Posté le 26-05-2008 à 00:55:06
Salut bon moi je pense que ça viens plutôt du fait que t'ai
my_hfont: HFONT;
donc tu déclares la variable hfont, puis tu l'initialise, mais
D3DXCreateFont(m_pD3DDevice, my_hFont, m_pFont);
tu utilises hFont, je pense que le 'F' t'as été fatal.
++
Marsh Posté le 18-06-2003 à 09:39:21
Dans la boucle de render de mon appli, j'ai ce bout de code pour afficher du texte par dessus ma 3d :
var
my_hfont: HFONT;
m_pFont: ID3DXFONT;
begin
my_hfont := CreateFont(25, 0, 0, 0, 0, 0, 0, 0, ANSI_CHARSET, 0, 0, 0, 0, 'verdana');
D3DXCreateFont(m_pD3DDevice, my_hFont, m_pFont);
...
m_pFont._Begin();
et en gros qques (3) minutes après que l'appli soit démarée, j'ai un violent access violation (adress read is 00000000) au niveau du m_pFont._Begin() qui semble indique que le pointeur m_pFont est nul ce qui n'est pas vraiment normal.
donc si quelqu'un à une piste...
merci !
Message édité par dweis le 18-06-2003 à 09:40:08