Das Deutsche Casio-Taschenrechner Forum wurde zum 31.12.2013 geschlossen und kann weiterhin als Nachschlagewerk verwendet werden.
Wer mehr erfahren möchte: Ein sehr guter Beitrag von Elias

Bdisp_WriteGraphVRAM_WB-Problem

Hilfe beim Programmieren mit dem Prizm SDK.

Bdisp_WriteGraphVRAM_WB-Problem

Beitragvon Paul94 » Mo 15. Aug 2011, 10:24

Hi,

ich möchte mit Bdisp_WriteGraphVRAM_WB ein Bitmap auf dem TR-Bildschirm ausgeben. Als Beispielfall habe ich einen roten Kreis genommen. Der Kreis wird auch richtig dargestellt, jedoch ist in der linken obenren Ecke ein kleiner Streifen, 2px hoch 14px breit. Dieser gehört nicht zum Kreis und ist auch nicht in den Bilddaten enthalten.

Als Dateianhang habe ich einen Displayscreenshot und den Quellcode (war zu lang für den Code-Tag) angehängt.

Paul

Edit: Bin mittlerweile selbst drauf gekommen. Wenn ich statt "TDispGraph *circle" "TDispGraph circle" schreibe und dann entsprechend "Bdisp_WriteGraphVRAM_WB(&circle)" statt "Bdisp_WriteGraphVRAM_WB(circle)" funktioniert es. Trotzdem würde es mich interessieren, woran das liegt.
Dateianhänge
Bild.cpp
(69.69 KiB) 258-mal heruntergeladen
DispCap1.png
DispCap1.png (2.78 KiB) 2996-mal betrachtet
Paul94
 
Beiträge: 219
Registriert: Do 14. Mai 2009, 06:50
Taschenrechner: FX-9860G (OS 2.00.0200)
FX-CG 20

Re: Bdisp_WriteGraphVRAM_WB-Problem

Beitragvon SimonLothar » Mo 15. Aug 2011, 21:51

Paul94 hat geschrieben:Wenn ich statt "TDispGraph *circle" "TDispGraph circle" schreibe und dann entsprechend "Bdisp_WriteGraphVRAM_WB(&circle)" statt "Bdisp_WriteGraphVRAM_WB(circle)" funktioniert es. Trotzdem würde es mich interessieren, woran das liegt.
"TDispGraph *circle" reserviert nur einen pointer auf eine TDispGraph-Struktur. Dieser pointer zeigt -wenn er nicht initialisiert wird- zunächst nur zufällig irgendwohin. Die Struktur selbst existiert noch gar nicht. Man muss sie z. B. mit malloc auf dem Heap anlegen. Dann gehört die Struktur Dir. Andernfalls kann der Speicherbereich auch zufällig von anderen Nutzern, z. B. vom System beschrieben werden. Ich wundere mich, dass Du damit keinen Crash erlebt hast.

"TDispGraph circle" reserviert sofort Speicherplatz für die komplette Struktur, die gehört dann sofort allein Dir und kann nicht zufällig vom System beschrieben werden.
SimonLothar
 
Beiträge: 228
Registriert: Mi 27. Mai 2009, 10:51
Taschenrechner: fx-9860G, fx-9860G slim, fx-9860G SD, fx-9860GII SD, fx-9750GII, fx-7400GII, fx-CG20, fx-9860GII-2 SD, fx-9750GII-2, fx-7400GII-2, fx-CP330+, fx-CP400


Zurück zu Prizm SDK (Alle fx-CG Modelle)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast