[RESOLU] POLINK ERROR
Publié : lun. 16/avr./2007 15:16
Désolé de ne pas trouver de titre plus explicite....
Mais tout d'abord voici le bout de code me posant problème :
Avec le débuggueur, pas de problème !
Sans le débuggueur :
Si on commente l'utilisation des macros, pas les macros elle meme, pas de problème mais bon :p
Merci de votre aide
Mais tout d'abord voici le bout de code me posant problème :
Code : Tout sélectionner
Import "C:\Perso\PureBasic\Compilers\ObjectManager.lib"
Object_GetOrAllocateID (Objects, Object.l) As "_PB_Object_GetOrAllocateID@8"
Object_GetObject (Objects, Object.l) As "_PB_Object_GetObject@8"
Object_IsObject (Objects, Object.l) As "_PB_Object_IsObject@8"
Object_EnumerateAll (Objects, ObjectEnumerateAllCallback, *VoidData) As "_PB_Object_EnumerateAll@12"
Object_EnumerateStart (Objects) As "_PB_Object_EnumerateStart@4"
Object_EnumerateNext (Objects, *object.Long) As "_PB_Object_EnumerateNext@8"
Object_EnumerateAbort (Objects) As "_PB_Object_EnumerateAbort@4"
Object_FreeID (Objects, Object.l) As "_PB_Object_FreeID@8"
Object_Init (StructureSize.l, IncrementStep.l, ObjectFreeFunction) As "_PB_Object_Init@12"
Object_GetThreadMemory (MemoryID.l) As "_PB_Object_GetThreadMemory@4"
Object_InitThreadMemory(Size.l, InitFunction, EndFunction) As "_PB_Object_InitThreadMemory@12"
EndImport
Structure S_Test
Id.l
Tmp.l
EndStructure
;- Macros
;{
Macro Test_ID(object)
Object_GetObject(TestObjects, object)
EndMacro
Macro Test_IS(object)
Object_IsObject(TestObjects, object)
EndMacro
Macro Test_NEW(object)
Object_GetOrAllocateID(TestObjects, object)
EndMacro
Macro Test_FREE(object)
If object <> #PB_Any And Test_IS(object) = #True
Object_FreeID(TestObjects, object)
EndIf
EndMacro
Macro Test_INITIALIZE(hCloseFunction)
Object_Init(SizeOf(S_Test), 1, hCloseFunction)
EndMacro
;}
;- System
Procedure TestFree(Id.l)
Shared TestObjects
Protected *Test.S_Test
If Id <> #PB_Any And Test_IS(Id)
*Test = Test_ID(Id)
EndIf
If *Test
Test_FREE(Id)
EndIf
ProcedureReturn #True
EndProcedure
ProcedureDLL Test_Init()
Shared TestObjects
TestObjects = Test_INITIALIZE(@TestFree())
EndProcedure
Test_Init()
Sans le débuggueur :
Code : Tout sélectionner
POLINK : error : Unresolved external symbol '_PB_SimpleList_Add'.
POLINK : error : Unresolved external symbol '_PB_SimpleList_Remove'.
POLINK : fatal error : 2 unresolved external(s).
Merci de votre aide