AllocateMemory(0, len, 0) -> Fehlermeldung

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Beitrag von Danilo »

Leo hat geschrieben:Oder noch besser:

Code: Alles auswählen

*memory = AllocateMemory(len)
If *memory = 0
    MessageRequester("Titel","Nachricht die in den Einstellungen festgelegt wird!")
    End
else
    ;Cursor
endif
In diesem Fall, also wenn Du immer die gleiche Nachricht ausgibst
und dann das Programm beendet wird ("Speicheranforderung fehlgeschlagen" -> End),
würde eine entsprechende Prozedur die Übersichtlichkeit des Codes
erheblich erhöhen können.

*mem = allocmem(len)

Dann braucht hier auch keine Überprüfung mehr stattfinden, da
daß ja schon in der Prozedur allocmem geschieht, inklusive entspr.
Reaktion auf den Fehler.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Leo
Beiträge: 420
Registriert: 26.10.2004 18:26

Beitrag von Leo »

Cool, ich denk ich werd mich gleich mal ne lib draus machen :D

Code: Alles auswählen

Procedure AllocMem(siz)
    *ptr=AllocateMemory(siz)
    If *ptr = 0
        MessageRequester("Fataler Fehler!","Speicheranforderung fehlgeschlagen!")
        End 
    Else
        ProcedureReturn *ptr
    EndIf
EndProcedure

*mem.LONG = AllocMem(2147483647)
*mem\l = 1000
*mem + 100000
*mem\l = 99
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

DarkDragon hat geschrieben:Sowas wär auch mal eine Idee für den jaPBe oder die StandardIDE in der Auto-Vervollständigung:
also, das mag ich nicht so.
wenn so ne feature eingebaut würde, müsste sie einzeln abschaltbar sein.

ein editor für programme und scripte, egal für welche,
soll nicht zu sehr versuchen mitzudenken.

was ich eher vermisse, ist eine groß/klein-korrektur bei variablennamen.

mit einem automatischen EndProcedure etc. kann ich mich auch noch anfreunden.

aber eine IF-abfrage automatisch einbauen, also, einen kompletten befehl...

da bin ich strikt :!: DAGEGEN :!: >_< :!:

______________

@GPI

also, falls du dran denkst, das in jaPBe einzubauen, mach es bitte einzeln abschaltbar,
denn vielleicht benutze ich ihn ja irgendwann doch :wink: :allright:
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag von freedimension »

Kaeru Gaman hat geschrieben: was ich eher vermisse, ist eine groß/klein-korrektur bei variablennamen.
Witzig, kann jaPBe :allright:
mit einem automatischen EndProcedure etc. kann ich mich auch noch anfreunden.
Auch das, ist aber Gott sei Dank abschaltbar ;)
aber eine IF-abfrage automatisch einbauen, also, einen kompletten befehl...

da bin ich strikt :!: DAGEGEN :!: >_< :!:
Glaube nicht, dass GPI das machen wird :D
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

freedimension hat geschrieben:
Kaeru Gaman hat geschrieben: was ich eher vermisse, ist eine groß/klein-korrektur bei variablennamen.
Witzig, kann jaPBe :allright:
naja... dieses Helferlein wird mir ja doch langsam sympatisch :wink:

anscheinend muss ich ihn doch mal ausprobieren...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
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 »

@Danilo: danke für die ausführliche Anregung zur Überprüfung der Speicherreservierung. Programmiere (wenn ich dann schonmal dazu komme) auch selbst eigentlich immer so.

Werde aber Deine Anregung mit vormerken, um in der Hilfe zu AllocateMemory() ausführlicher darauf einzugehen. :allright:
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Beitrag von Danilo »

Andre hat geschrieben:Programmiere (wenn ich dann schonmal dazu komme) auch selbst eigentlich immer so.
Also ohne Fehler abzufragen?
Andre hat geschrieben:Werde aber Deine Anregung mit vormerken, um in der Hilfe zu AllocateMemory() ausführlicher darauf einzugehen. :allright:
Ich hätte da noch etwas:
Wenn man ein binäres Sierpinskidreieck auf einem Fenster
anzeigen möchte, dann sollte man auf ein Image zeichnen
und es dann in einem ImageGadget anzeigen, anstatt das Bild
direkt mit WindowOutput() auf dem Fenster darzustellen. ;)

Dann ist es auch nicht nötig noch ein Redraw in das Beispiel
einzubauen usw... habs ja schon öfters erwähnt.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
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 »

Danilo hat geschrieben:
Andre hat geschrieben:Programmiere (wenn ich dann schonmal dazu komme) auch selbst eigentlich immer so.
Also ohne Fehler abzufragen?
/:->

Hatte mich auf Deine Anregung bezogen, also bitteschön mit Fehlerüberprüfung ! :mrgreen:
Danilo hat geschrieben: Ich hätte da noch etwas:
Wenn man ein binäres Sierpinskidreieck auf einem Fenster
anzeigen möchte, dann sollte man auf ein Image zeichnen
und es dann in einem ImageGadget anzeigen, anstatt das Bild
direkt mit WindowOutput() auf dem Fenster darzustellen. ;)

Dann ist es auch nicht nötig noch ein Redraw in das Beispiel
einzubauen usw... habs ja schon öfters erwähnt.
Hä ? Verstehe den Zusammenhang jetzt nicht. Auf was beziehst Du Dich da ?
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Antworten