Bug in AllocateMemory - PB 5.51

Anfängerfragen zum Programmieren mit PureBasic.
Toshy
Beiträge: 710
Registriert: 22.03.2005 00:29
Computerausstattung: Computer und Strom vorhanden
Wohnort: LK Wolfenbüttel

Bug in AllocateMemory - PB 5.51

Beitrag von Toshy »

Purebasix 5.51 x64
Compiler-Optionen auf Standard
Windows 10

Start mit F5, also Debugger läuft.

Code: Alles auswählen

  *MemoryID = AllocateMemory(5000)
  If *MemoryID
    Debug "Startadresse des 5000 Byte Speicherbereichs ist:"
    Debug *MemoryID
    PokeS(*MemoryID, "Wir speichern diesen String im Speicherbereich")
    FreeMemory(*MemoryID)  ; wird am Ende des Programms auch automatisch erledigt
  Else
    Debug "Konnte den angeforderten Speicher nicht reservieren!"
  EndIf
Klappt alles. Programm läuft normal durch.

Code: Alles auswählen

*MemoryID = AllocateMemory(88)
  If *MemoryID
    Debug "Startadresse des 5000 Byte Speicherbereichs ist:"
    Debug *MemoryID
    PokeS(*MemoryID, "Wir speichern diesen String im Speicherbereich")
    FreeMemory(*MemoryID)  ; wird am Ende des Programms auch automatisch erledigt
  Else
    Debug "Konnte den angeforderten Speicher nicht reservieren!"
  EndIf
Meldung:

Code: Alles auswählen

PureBasic Debugger
Das mit dem Debugger getestete Executable endete unerwartet.
Alle Werte von 1-88 Bytes größe brechen die Ausführung ab.

Auch ohne Debugger schmiert das Programm ab.

Gar nicht lustig ;-)
Kann das jemand nachvollziehen?

NicTheQuick: Verschoben von Bugs zu Anfänger
1. AMD Athlon II X2 250P,4GB-RAM,WinXP
2. Notebook,500mhz,128MB-RAM,WINXP
3. WHS 2003
Inet: 6Mbit Down/386Kbit Up,Flat
PB4.60
Messenger: Trillian
Benutzeravatar
alter Mann
Beiträge: 201
Registriert: 29.08.2008 09:13
Wohnort: hinterm Mond

Re: Bug in AllocateMemory - PB 5.51

Beitrag von alter Mann »

Stichwort Unicode, ein Zeichen im String hat 2 Byte!! - Dur schreibst über den Speicherbereich!
Win11 64Bit / PB 6.0
Antworten