Seite 1 von 2

PB-Bug bei einigen 2D-Drawing-Befehlen!!!

Verfasst: 18.03.2005 06:10
von THEEX
Plot() verusacht Fehler bei Locate()
Und die kleinst mögliche Box() wird nicht gezeichnet....

Code: Alles auswählen

If InitSprite() And InitKeyboard() And InitMouse()
  If OpenScreen(640, 480, 32, "Bug") = 0
    MessageRequester("Fehler", "Auflösung ist nicht möglich." + #CRLF$ + "Programm wird beendet.")
    End
  EndIf
Else
  MessageRequester("Fehler", "DirectX ist nicht aktuell." + #CRLF$ + "Bitte aktuallisieren!")
  End
EndIf

Procedure Taste_verarbeiten(Wert.s)
  If Asc(Wert) = 27
    End
  EndIf  
EndProcedure


Repeat
  ExamineMouse()
  ExamineKeyboard()
     
  Taste.s = KeyboardInkey()
  If Taste
    Taste_verarbeiten(Taste)
  EndIf
  
  StartDrawing(ScreenOutput())
    Locate(400,  0): DrawText("Text 400, 0")
    Plot(100, 100, $FF)
    ;Plot verursacht Fehler bei Locate...
    Locate(400, 20): DrawText("Text 400, 20")
     
    Box(100, 200, 3, 3, $FFFF)
    Box(100, 205, 2, 2, $FFFF)
    ;Box 1*1 wird nicht gezeichnet
    Box(100, 210, 1, 1, $FFFF)
  StopDrawing()
  
  FlipBuffers(0)
  ClearScreen(0, 0, 0)
ForEver

Verfasst: 18.03.2005 10:20
von Kaeru Gaman
hmmm... bei mir gehts....

was für ne karte hast du? und welches DX?

...wahrscheinlich ist der 'bug' dir in einem anderen prog aufgefallen,
und dieses hast du zur demo geschrieben...

dann liegt der bug in deinem anderen prog.

Verfasst: 18.03.2005 14:55
von THEEX
Natürlich hab ich die Demo auch ausprobiert.... vorallem wenn ich Fehler Reporte, kontrolliere ich das extra nochmal nach. Ist auch nicht der erste PureBasic-Fehler den ich gefunden hätte... bei Dir gehts? Seltsam....
Also bei mir wird die kleinste Box nicht angezeigt und das 2. Locate funktioniert nicht, wenn Plot() davor ausgeführt wird, wie siehts bei anderen Leuten aus?
Wobei ich nicht glaube das es an meiner GeForce Ti4200 liegt, dann schon eher am Treiber.

Verfasst: 18.03.2005 15:05
von freedimension
Gehen wir hier von der neusten Version aus? Konnte in deinem Profil leider nichts dazu finden :(

Außerdem wäre eine Angabe des OS interessant, es handelt sich ja sehr wahrscheinlich um gekapselte API-Aufrufe.

Verfasst: 18.03.2005 15:13
von THEEX
WinXP ServicePack 2 und natürlich das neuestes PureBasic. Auch mein DirectX ist das neueste (nur der Grafiktreiber ist nicht der neueste, da eine leicht ältere Version besser läuft). Im übrigen sagt ein Profil nicht wirklich aus, was für einen Rechner man hat oder welche Versionen man von was drauf hat, ich glaub nicht, daß jeder dran denkt, ein Profil nach einem Update zu aktuallisiern.

Verfasst: 18.03.2005 19:19
von THEEX
Ich find das wie immer lustig, daß sich für irgendwelche Bugs oder zumindest scheinbare Bugs, die nicht unbedingt in den allgemeinen Programmierbereich fallen, kaum wer interessiert.... Ansonsten schimpfen doch so viele, wie Buggy immer noch PB ist und welche Nachteile es hat, wo sind denn nun die Leut?

Verfasst: 18.03.2005 21:50
von DrShrek
Locate ist ok.
Box(...1,1...) wird nicht gezeichnet. Hier am besten Plot nehmen...

Hast Du auch schon die neueren Updates zur 3.93 gezogen?

Verfasst: 18.03.2005 22:00
von Jockey
Hallo , hab den Code auch mal probiert und kann die Fehlerangaben ebenfalls bestätigen.
System : Win2000 SP 4, PB 3.93, DX 8.1b

Verfasst: 19.03.2005 01:32
von traumatic
CSprengel hat geschrieben:Ich find das wie immer lustig, daß sich für irgendwelche Bugs oder zumindest scheinbare Bugs, die nicht unbedingt in den allgemeinen Programmierbereich fallen, kaum wer interessiert.... Ansonsten schimpfen doch so viele, wie Buggy immer noch PB ist und welche Nachteile es hat, wo sind denn nun die Leut??
Im englischen Forum - dort, wo auch die Bug-Reports hingehören.

Sorry, just my 2ct.


Habe gerade mal den Code getestet. Plot macht bei mir (XP/Ti4200) keine Probleme.
Die 1x1 Box wird jedoch nicht dargestellt (Sinnhaftigkeit mal außen vor gelassen).

Verfasst: 19.03.2005 02:50
von THEEX
@traumatic
Wenn wir mal von Sinnhaftigkeit reden, warum wohl lese und schreibe ich im deutschen Forum?

Im übrigen kann eine 1 * 1 Box von Sinn sein. Wenn zB Plot Probleme macht im Zusammenhang mit Locate... nur ist das hier ja ein Teufelskreis. Naja ich kann ja dann noch Line benutzen, nur sind Line und Box extrem langsam im Vergleich zu Plot. Aber ich könnt ja auch direkt den Speicher der Grafikkarte manipluliern, das würde noch recht schnell funktioniern ist aber mehr Arbeitsaufwand, als sich wohl lohnt, wenn man gerade mal schnell ein kleines Beispiel proggen will.

Ich bin halt der Meinung, daß nach Möglichkeit jeder Fehler beseitigt werden sollte, ob das nun mehr oder weniger Sinnvoll erscheint. Im übrigen gehts hier ja drum, ob der Fehler auch bei anderen auftritt, da es ja nicht überall geschieht. Kleine Fehler können auch oft größere Ursachen haben bzw. andere Fehler nach sich ziehn...

Das geflame geht halt meist erst dann los, wenn man auf einmal davon betroffen ist.