Seite 1 von 1

[Windows, PB 5.30] Purifier-Fehler bei ReAllocateMemory()

Verfasst: 28.09.2014 12:40
von #Ton
Folgender Code aus der PB-Hilfe beim ReAllocateMemory()-Eintrag verursacht folgenden Fehler: "Trying to free or to reallocate a non-allocated memory block"
Fehler tritt nur bei eingeschaltetem Purifier auf.

Code: Alles auswählen

*MemoryID = AllocateMemory(1000)
PokeS(*MemoryID, "Speichere diesen String")
; hier kann noch mehr mit dem Speicherbereich gemacht werden...
;
*NewMemoryID = ReAllocateMemory(*MemoryID, 2000) ; wir brauchen mehr Speicher
If *NewMemoryID
  ; arbeitet jetzt mit *NewMemoryID mit einer Größe von 2000 Byte
  Debug "Der alte Inhalt ist noch vorhanden:"
  Debug PeekS(*NewMemoryID)
  ;
  FreeMemory(*NewMemoryID) 
Else
  ; die Größenänderung schlug fehl, wir arbeiten weiter mit *MemoryID (Größe 1000)
  ;
  FreeMemory(*MemoryID)
EndIf
- PureBasic Version: 5.30
- OS: Windows 7 x64
- Ob mit oder ohne Unicode spielt keine Rolle
- Bei der PB-Version 5.22 tritt dieser Fehler nicht auf

Fehlerberichte vom Debugger:

Purifier On:
[12:12:30] Warte auf den Start des Executable...
[12:12:30] Executable-Typ: Windows - x64 (64bit, Unicode, Purifier)
[12:12:30] Executable gestartet.
[12:12:30] [ERROR] Zeile: 5
[12:12:30] [ERROR] Trying to free or to reallocate a non-allocated memory block


Purifier Off:
[12:15:02] Warte auf den Start des Executable...
[12:15:02] Executable-Typ: Windows - x64 (64bit, Unicode)
[12:15:02] Executable gestartet.
[12:15:02] Die Programmausführung ist abgeschlossen.

Re: [Windows, PB 5.30] Purifier-Fehler bei ReAllocateMemory(

Verfasst: 28.09.2014 12:45
von ts-soft