Code : Tout sélectionner
DataSection
GdipDeleteFont:
Data.i @GdipDeleteFont()
GdipDeleteEffect:
Data.i @GdipDeleteEffect()
EndDataSection
Code : Tout sélectionner
Procedure Gdiplus_Init_CleanUp()
;// utilisée par le wrapper pour destruction des objects Gdi+
;// mémorise les adresses des fonctions de destruction des éléments Gdi+
GDIp_DelProc(Str(#Type_Token))\type = #Type_Token
GDIp_DelProc(Str(#Type_Token))\adresse_Proc = @GdiplusShutdown()
GDIp_DelProc(Str(#Type_Brush))\type = #Type_Brush
GDIp_DelProc(Str(#Type_Brush))\adresse_Proc = @GdipDeleteBrush()
GDIp_DelProc(Str(#Type_CachedBitmap))\type = #Type_CachedBitmap
GDIp_DelProc(Str(#Type_CachedBitmap))\adresse_Proc = @GdipDeleteCachedBitmap()
GDIp_DelProc(Str(#Type_CustomLineCap))\type = #Type_CustomLineCap
GDIp_DelProc(Str(#Type_CustomLineCap))\adresse_Proc = @GdipDeleteCustomLineCap()
GDIp_DelProc(Str(#Type_Effect))\type = #Type_Effect
GDIp_DelProc(Str(#Type_Effect))\adresse_Proc = @GdipDeleteEffect()
GDIp_DelProc(Str(#Type_Font))\type = #Type_Font
GDIp_DelProc(Str(#Type_Font))\adresse_Proc = @GdipDeleteFont()
GDIp_DelProc(Str(#Type_FontFamily))\type = #Type_FontFamily
GDIp_DelProc(Str(#Type_FontFamily))\adresse_Proc = @GdipDeleteFontFamily()
GDIp_DelProc(Str(#Type_Gfx))\type = #Type_Gfx
GDIp_DelProc(Str(#Type_Gfx))\adresse_Proc = @GdipDeleteGraphics()
GDIp_DelProc(Str(#Type_Image))\type = #Type_Image
GDIp_DelProc(Str(#Type_Image))\adresse_Proc = @GdipDisposeImage()
GDIp_DelProc(Str(#Type_imageattributes))\type = #Type_imageattributes
GDIp_DelProc(Str(#Type_imageattributes))\adresse_Proc = @GdipDisposeimageattributes()
GDIp_DelProc(Str(#Type_Matrix))\type = #Type_Matrix
GDIp_DelProc(Str(#Type_Matrix))\adresse_Proc = @GdipDeleteMatrix()
GDIp_DelProc(Str(#Type_Memory))\type = #Type_Memory
GDIp_DelProc(Str(#Type_Memory))\adresse_Proc = @GdipFree()
GDIp_DelProc(Str(#Type_Path))\type = #Type_Path
GDIp_DelProc(Str(#Type_Path))\adresse_Proc = @GdipDeletePath()
GDIp_DelProc(Str(#Type_PathIter))\type = #Type_PathIter
GDIp_DelProc(Str(#Type_PathIter))\adresse_Proc = @GdipDeletePathIter()
GDIp_DelProc(Str(#Type_Pen))\type = #Type_Pen
GDIp_DelProc(Str(#Type_Pen))\adresse_Proc = @GdipDeletePen()
GDIp_DelProc(Str(#Type_Region))\type = #Type_Region
GDIp_DelProc(Str(#Type_Region))\adresse_Proc = @GdipDeleteRegion()
GDIp_DelProc(Str(#Type_StringFormat))\type = #Type_StringFormat
GDIp_DelProc(Str(#Type_StringFormat))\adresse_Proc = @GdipDeleteStringFormat()
EndProcedure
Code : Tout sélectionner
l_gdipdeletestringformat:
dq _Procedure-66151057
la fonction est déclarée comme ceci
Code : Tout sélectionner
extrn GdipDeleteStringFormat
Code : Tout sélectionner
; GDIp_DelProc(Str(#Type_StringFormat))\adresse_Proc = @GdipDeleteStringFormat()
MOV rax,GdipDeleteStringFormat
J'ai changé de label mais ça ne change rien.
Je ne sais pas si j'ai oublié quelque chose mais j'aimerais bien que ça marche.
Un bug Fred ?