ich habe das Problem, dass, wenn ich in einer DLL Speicher reserviere und einen Pointer darauf zurückgebe,
ich den Speicher wohl auslesen, aber nicht wieder freigeben kann.
Vielleicht könnt ihr mir nen Tipp geben, wie ich den Speicher trotzdem freigeben kann - oder mir sagen, warum das überhaupt so ist^^
MfG
Teejex
Code: Alles auswählen
; Testprogramm
dll$="C:\Users\admmin\Desktop\dlltest.dll"
OpenConsole()
If OpenLibrary(0,dll$)
*ptr = GetFunction(0,"test")
If *ptr
PrintN(PeekS(*ptr))
FreeMemory(*ptr)
Else
PrintN("error")
EndIf
Else
PrintN("could not open lib")
EndIf
Input()
CloseConsole()
Code: Alles auswählen
; Test-DLL
ProcedureDLL test()
*mem=AllocateMemory(64)
If *mem
PokeS(*mem,"Gruseltiger")
ProcedureReturn *mem
EndIf
FreeMemory(*mem)
ProcedureReturn #False
EndProcedure