Christian+ hat geschrieben:Also, dass man DrawingBuffer() nur innerhalb der StartDrawing und StopDrawing Befehle aufrufen kann ist klar. Aber ich dachte immer DrawingBuffer gibt einfach den Speicherbereich zurück an dem sich das Bild im RAM befindet. Dieser sollte sich dann ja nicht verändern egal ob StopDrawing aufgerufen wird oder nicht.
Innerhalb StartDrawing()/StopDrawing() sollte sich das im Rahmen der Dokumentation auf allen
Systemen gleich verhalten. Das schliesst auch ein das DrawingBuffer() mal 0 zurückgeben kann.
Ist zumindest so dokumentiert.
PB Help hat geschrieben:Hinweis: Die Zeichenoperationen beginnen immer mit dem Aufruf von StartDrawing() und werden mit StopDrawing() abgeschlossen.
Für mich ist das Zufall, wenn der DrawingBuffer() nach einem StopDrawing() noch weiter gültig ist.
Das ist so nicht dokumentiert, und mMn Zufallsprogrammierung. Irgend welche anderen Befehle
können diesen Pointer jederzeit ungültig machen. ResizeImage() / FreeImage() / LoadImage() / usw.,
aber auch beliebige Sprite- oder Screen-funktionen, wenn DrawingBuffer() auch mit Screen-/SpriteOutput()
auf einem bestimmten System funktioniert. Ist eben Zufall.
Die Hilfe zu DrawingBuffer() meint sogar noch:
Diese Funktion muss erneut aufgerufen werden, wenn andere Befehle dieser Befehls-Bibliothek seit der letzten Pixel-Manipulation verwendet wurden.
D.h. selbst innerhalb dem gleichen StartDrawing() / StopDrawing() kann der Buffer-Pointer schon
ungültig werden. Einfach nur dadurch, dass man weitere 2D Drawing Funktionen aufruft.
Nur so als kurze Erklärung was ich dazu denke, da ich keine Lust habe das weiter zu diskutieren.
Es steht Dir natürlich frei das weiterhin zu benutzen, solange es noch geht...
