AllocMemory()

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
tft
Beiträge: 650
Registriert: 08.09.2004 20:18
Computerausstattung: GFX 3060 Ti , i7 12700F , 32 GB Ram , 900 GB SSD , TV
Wohnort: Dachsen
Kontaktdaten:

AllocMemory()

Beitrag von tft »

Hi...

bei diversen Codes aus dem PureAreaNet bekomme ich immer den Fehler (zu fiele parameter). Hauptsächlich bei AllocMemory(1,28) etc.
TFT seid 1989 , Turgut Frank Temucin , CH-Dachsen/DE-Berlin/TR-Antalya
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung

PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler :-)
Benutzeravatar
Lars
Beiträge: 347
Registriert: 31.08.2004 23:53
Wohnort: Shanghai
Kontaktdaten:

Beitrag von Lars »

Nach Möglichkeit den AllocarteMemory() anpassen und zurück an Andre
schicken (natürlich nach Überprüfung, dass man nichts kaput gemacht
hat). Andre freut sich bestimmt :)

Dieser Fehler tritt auf, weil in der Version 3.9 die #MemoryID völlig
abgeschaffst wurde und nur noch mit der Speicheradresse gearbeitet wird.
Früher musste man also alles per #MemoryID ansprechen, jetzt per
Ergebniss von AllocateMemory().

Für nähere Infos möge man die Hilfe zu Rate ziehen.
Lars
The only problem with troubleshooting is, that sometimes the trouble shoots back.
P4 2,6Ghz, 512MB RAM, GeForce 6200, WinXP Pro SP2, PB V3.94
Benutzeravatar
Deeem2031
Beiträge: 1232
Registriert: 29.08.2004 00:16
Wohnort: Vorm Computer
Kontaktdaten:

Beitrag von Deeem2031 »

Is das ein Hinweis oder willst du wissen wie man das ändert?

Also ich mache das immer folgendermaßen:

Code: Alles auswählen

AllocateMemory(0,1024)
...
FreeMemory(0)
wird zu:

Code: Alles auswählen

Buffer0 = AllocateMemory(1024)
...
FreeMemory(Buffer0)
Wenn vor AllocateMemory() eine variable steht ändert man das ein bischen ab:

Code: Alles auswählen

Var = AllocateMemory(0,1024)

Code: Alles auswählen

Buffer0 = AllocateMemory(1024)
Var = Buffer0
sieht zwar bisl doof aus, reicht aber meistens aus.
Bild
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
Benutzeravatar
Rings
Beiträge: 977
Registriert: 29.08.2004 08:48

Beitrag von Rings »

Auszug aus der 3.90 version readme

Code: Alles auswählen

12th April 2004
PureBasic V3.90 (Windows) 
..
- Changed: no more #Memory ID and flag for AllocateMemory()
..
das heisst es hat sich was in den Aufrufparametern geändert.
Den Rest hat deeem erklärt
Rings hat geschrieben:ziert sich nich beim zitieren
Benutzeravatar
tft
Beiträge: 650
Registriert: 08.09.2004 20:18
Computerausstattung: GFX 3060 Ti , i7 12700F , 32 GB Ram , 900 GB SSD , TV
Wohnort: Dachsen
Kontaktdaten:

Beitrag von tft »

Hi...

danke für die Info.
TFT seid 1989 , Turgut Frank Temucin , CH-Dachsen/DE-Berlin/TR-Antalya
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung

PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler :-)
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1765
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Beitrag von Andre »

Lars hat geschrieben:Nach Möglichkeit den AllocarteMemory() anpassen und zurück an Andre
schicken (natürlich nach Überprüfung, dass man nichts kaput gemacht
hat). Andre freut sich bestimmt :)


:mrgreen:

Natürlich bin ich immer dankbar für dsbzgl. Unterstützung. Tommeh aus dem engl. Forum / Chat hatte mir am Wochenende seine Hilfe angeboten. Mal sehen, ob er das existierende CodeArchiv kurzfristig PB3.91-kompatibel bekommt, während ich mich um neue Codes/CAV-Tool kümmere.... :wink:
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
coldarchon
Beiträge: 26
Registriert: 08.09.2004 09:33
Kontaktdaten:

Beitrag von coldarchon »

Deeem2031 hat geschrieben:Wenn vor AllocateMemory() eine variable steht ändert man das ein bischen ab:

Code: Alles auswählen

Var = AllocateMemory(0,1024)

Code: Alles auswählen

Buffer0 = AllocateMemory(1024)
Var = Buffer0
sieht zwar bisl doof aus, reicht aber meistens aus.
huh?
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8820
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Was meinst du mit "huh?"? Ist da was schwer dran zu verstehen?
sbehrens
Beiträge: 274
Registriert: 08.09.2004 18:41
Kontaktdaten:

Beitrag von sbehrens »

würde denn

Code: Alles auswählen

Var = AllocateMemory(1024)
nicht auch reichen?

mfG
Basti
enjoy life... while you can!
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8820
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Das reicht solange wie die Variable "Var" nicht geändert wird. Schließlich musst du den Speicher nach Gebrauch wieder mit dem Rückgabewert als Handle freigeben. Wird das Handle geändert oder gelöscht, kannst du den Speicher nicht mehr freigeben, außer du beendest das Programm. Man sollte sich aber selbst angewöhnen solche Sachen selbst zu kontrollieren und freizugeben.
Antworten