Clearscreen und Neuinstall
Clearscreen und Neuinstall
Ich habe um sicher zu stellen dass das Update ohne jegliche Rester vom alten PB 4.20 installiert wird gelöscht. Beim Testen von PB 4.30 fiel mir auf das der Bildschirm mit ClearScreen(255,255,255) nicht weiß gelöscht wurde und die alten Grafik noch darauf stand. Nach Installieren der PB 4.20 und darauf die PB 4.30 funktionierte wieder alles. Da habt ihr in PB 4.30 bestimmt vergessen eine Routinenausführung zu schalten. 
-
Kaeru Gaman
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
irgendsoeinen Fehler kann ich nicht bestätigen.
läuft einwandfrei.
Code: Alles auswählen
InitSprite()
InitKeyboard()
OpenScreen(1024,768,32,"test")
CreateSprite(0,64,64)
Repeat
ExamineKeyboard()
ClearScreen($FFFFFF)
DisplaySprite(0,x,352)
x+1:If x>1024 : x=-64 : EndIf
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
-
Kaeru Gaman
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
-
Kaeru Gaman
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
ich unterstelle eine anderweitig fehlerhafte Vorgehensweise.
wenn du ein Verzeichnis komplett leer machst, entspricht es auf OS-Ebene einem neu erzeugten Verzeichnis.
weitergehend kann ich auch nicht nachvollziehen,
warum eine nicht vorhandene Datei darin resultieren sollte,
dass ein Screen nicht gelöscht wird aber trotzdem kein Fehler produziert.
hast du denn den Fehler wenigstens ein zweites Mal reproduziert?
also, hast du 4.20 noch mal in eine neues Verzeichnis installiert,
dann wieder destalliert und alle Reste gelöscht,
dann 4.3 in dieses Verzeichnis installiert und
ist dann der Fehler noch mal aufgetreten?
wenn du ein Verzeichnis komplett leer machst, entspricht es auf OS-Ebene einem neu erzeugten Verzeichnis.
weitergehend kann ich auch nicht nachvollziehen,
warum eine nicht vorhandene Datei darin resultieren sollte,
dass ein Screen nicht gelöscht wird aber trotzdem kein Fehler produziert.
hast du denn den Fehler wenigstens ein zweites Mal reproduziert?
also, hast du 4.20 noch mal in eine neues Verzeichnis installiert,
dann wieder destalliert und alle Reste gelöscht,
dann 4.3 in dieses Verzeichnis installiert und
ist dann der Fehler noch mal aufgetreten?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
Also bin mal so verfahren. 2 Verzeichnisse mit "Purebasic" und Purebasic420. Starte ich Purebasic.exe im Verzeichnis von 4.20 funktioniert das Löschen des Bildschirms mit Clearscreen(RGB(wert,wert,wert) wenn ich dieses im Verzeichnis "Purebasic" starte(also 4.30) dann funktioniert das Löschen nicht. Also ergo: PB 4.30 löscht den Bildschirm nicht. Wenn ich nun die Version 4.30 über die Version 4.20 drüber installiere funktioniert die Version im Verzeichnis Purebasic420 und die Purebasicversion von "Purebasic" Verzeichnis immer noch nicht.
Also enthält Purebasic 4.30 irgend einen Befehl nicht der in Purebasic drin ist.
Also enthält Purebasic 4.30 irgend einen Befehl nicht der in Purebasic drin ist.
-
Kaeru Gaman
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
Also habe ich nochmal alles ausprobiert und auf 2 Rechner getestet. Der Fehler von ClearScreen bezieht sich nur auf PB 4.30 und auch nur auf OpenwindowedScreen. Das Beispiel mit dem OpenScreen von Kaeru:
testet doch mal bitte:
wechselt auch mal die Farben um zu sehen ob sich was ändert oder nicht!
ich denke der Fehler wird auch bei anderen auftreten.
funktioniert einwandfrei.irgendsoeinen Fehler kann ich nicht bestätigen.
Code:
InitSprite()
InitKeyboard()
OpenScreen(1024,768,32,"test")
CreateSprite(0,64,64)
Repeat
ExamineKeyboard()
ClearScreen($FFFFFF)
DisplaySprite(0,x,352)
x+1:If x>1024 : x=-64 : EndIf
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
läuft einwandfrei.
testet doch mal bitte:
Code: Alles auswählen
InitEngine3D()
InitSprite()
OpenWindow(0,0,0,800,600,"......",#PB_Window_SystemMenu)
OpenWindowedScreen(WindowID(0),0,0,800,600,0,0,0)
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_CloseWindow
quit = 1
EndSelect
ClearScreen(RGB(255,0,0))
FlipBuffers()
Until quit = 1
Endich denke der Fehler wird auch bei anderen auftreten.
-
Kaeru Gaman
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
ganz merkwürdiges verhalten:
wenn man InitEngine3D() auskommentiert, funktioniert es.
wenn man das wieder einsetzt, wird der screen in der farbe gelöscht, die man vorher benutzt hat.
also mal testen:
- InitEngine3D() auskommentieren
- bei ClearScreen eine ungewöhnliche farbe einsetzen
- laufen lassen
- InitEngine3D() wieder entkommentieren
- bei ClearScreen eine andere Farbe einsetzen
- es sollte die Farbe auftauchen, die vorher benutzt wurde
bitte bestätigen, dann müssen wirs mal im Englischen posten.
wenn man InitEngine3D() auskommentiert, funktioniert es.
wenn man das wieder einsetzt, wird der screen in der farbe gelöscht, die man vorher benutzt hat.
also mal testen:
- InitEngine3D() auskommentieren
- bei ClearScreen eine ungewöhnliche farbe einsetzen
- laufen lassen
- InitEngine3D() wieder entkommentieren
- bei ClearScreen eine andere Farbe einsetzen
- es sollte die Farbe auftauchen, die vorher benutzt wurde
bitte bestätigen, dann müssen wirs mal im Englischen posten.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.