bin gerade dabei die SNMP Library für PB4 umzuschreiben und hab dabei einen Fehler entdeckt der nicht sein sollte.
Hier mal der Code dazu
Code: Alles auswählen
*test = AllocateMemory(1024)
PokeS(*test + 0, "1", 1)
PokeS(*test + 1, "2", 1)
PokeS(*test + 2, "3", 1)
PokeS(*test + 3, "4", 1)
PokeS(*test + 4, "5", 1)
; Fehlerfreie Ausgabe
Debug PeekS(*test)
; Aendere zweite Stelle durch das selbe Zeichen
; sollte keine Aenderung geben
PokeS(*test + 1, "2", 1)
; Ausgabe was jetzt rauskommt
Debug PeekS(*test)
; Gib einfach mal den Ascii Wert aus um zu sehen was jetzt drinne ist
Debug ""
For i = 0 To 4
Debug Asc(PeekS(*test + i, 1))
Next i
Desweitern hab ich bemerkt wenn man z.B. zuwenig speicher mit AllocateMemory reserviert kann man trotzdem beliebig viele Zeichen in den Speicher schreiben....
Kann mir vorstellen das es normal ist, auch in anderen Sprachen wie in C z.B., nur das der Programmierer selber aufpassen muss was er machen muss. Sonst kann es evtl zu einer Speicherverletzung kommen.
Aber der Bug oben sollte nicht sein... Bitte PRüfen und dann weiterleiten wenn es sich bestätigt. Kann sein das es in den anderen Pokebefehlen auch so ist und nicht nur bei PokeB und PokeS
Gruß,
Torakas