Seite 2 von 2
Verfasst: 28.09.2006 18:04
von ts-soft
@AND51
Was hat der Verweis damit zu tun, da gabs kein NOT
Du ziehst laufend Rückschlüsse, die nicht schlüssig sind

Verfasst: 28.09.2006 18:39
von mk-soft
Sauber wäre zu prüfen der Pointer auf eine String auch Initialisiert ist.
if *s
x = val(*s)
else
x = 0
endif
FF
P.S. Einen Pointer auf eine String sollte immer genügend speicher reserviert werden. Auf eine Adresse mit eine Variable von Type Long zu verweisen und dann zu glauben es geht einfacher als mit AllocateMemory(...) hat dann natürlich Probleme mit sein Speichermangment.
Verfasst: 28.09.2006 19:22
von remi_meier
Worüber wird noch diskutiert? Der Bug ist eindeutig, auch ohne Pointer:
NicTheQuick hat Recht, auch eine Überprüfung fehlt in ValQ() etc. und
das Schnellste wäre
P.S. Einen Pointer auf eine String sollte immer genügend speicher reserviert werden. Auf eine Adresse mit eine Variable von Type Long zu verweisen und dann zu glauben es geht einfacher als mit AllocateMemory(...) hat dann natürlich Probleme mit sein Speichermangment.
falsch
Verfasst: 29.09.2006 10:39
von NicTheQuick
remi_meier:
Danke!
Endlich jemand, der's kapiert.
Nur deine Überprüfung ist falsch. So ist's richtig:
Code: Alles auswählen
*s.String = AllocateMemory(4)
If *s;\s
Debug ValQ(*s\s)
Else
Debug 0
EndIf
Mach das Kommentarzeichen weg, dann funktioniert es.
Verfasst: 30.09.2006 13:51
von remi_meier
Ach Mist

Verfasst: 04.10.2006 23:20
von Hellhound66
@NTQ:
Das ist ganz schön Tricky, mit dem Stringpointer auf ne 0-Variable.
/halb-off-topic:
Wie sieht es eigentlich intern bei PB mit der Stringverwaltung aus? Wann wird welcher String wieder freigegeben und unter welchen Bedingungen?