DisableDebugger und StartDrawing 4.10

Hier werden, insbesondere in den Beta-Phasen, Bugmeldungen gepostet. Das offizielle BugForum ist allerdings hier.
Hugo
Beiträge: 56
Registriert: 30.03.2005 12:07
Wohnort: Nähe München

DisableDebugger und StartDrawing 4.10

Beitrag von Hugo »

Hi,

ich habe folgendes in Zusammenhang mit Disable/EnabeDebugger und StartDrawing in der Version 4.10 festgestellt (mit 4.02 tritt das nicht auf).

Wenn ich vor dem StartDrawing ein DisableDebugger und direkt dahinter ein EnableDebugger setzte, wird der nachfolgenden 2D Befehl (Box usw.) mit der Fehlermeldung "StartDrawing() must be called before a 2DDrawing function" beendet.

Das Ganze funktioniert, wenn ich das DisableDebugger hinter den letzen 2D Befehl setze.

Ob das nun ein Bug ist oder nicht weiß ich nicht, es sollte dann aber denke ich, in der Doku erwähnt werden.

Gruß,
Hugo

Code: Alles auswählen

If OpenWindow( 0, 0, 0, 300, 300, "Test", #PB_Window_ScreenCentered | #PB_Window_SystemMenu ) 
  
  If CreateGadgetList( WindowID( 0 ) ) 
    CreateImage( 0, 200, 30 ) 
    
    DisableDebugger
    DraStat = StartDrawing( ImageOutput( 0 ) ) 
    EnableDebugger
    If DraStat
      Box( 0, 0, 200, 30,RGB( 255, 255, 155 ) ) 
      StopDrawing() 
    EndIf
    ;EnableDebugger
    
    ImageGadget( 1, 5, 20, 200, 30, ImageID( 0 ) ) 
    
    Repeat 
      Select WaitWindowEvent() 
        Case #WM_CLOSE 
          End 
      EndSelect 
    ForEver
    
  EndIf
  
EndIf
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Beitrag von DrShrek »

Ich habe es mal ins engl. Board als BUG gestellt.
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
xperience2003
Beiträge: 972
Registriert: 04.10.2004 18:42
Computerausstattung: Amiga, LinuxMint, Windows7
Wohnort: gotha
Kontaktdaten:

Beitrag von xperience2003 »

Wenn ich vor dem StartDrawing ein DisableDebugger und direkt dahinter ein EnableDebugger
warum machst du auch so'n scheiss :twisted:
amiga rulez...
Rebirth Software
Hugo
Beiträge: 56
Registriert: 30.03.2005 12:07
Wohnort: Nähe München

Beitrag von Hugo »

@xperience2006

bevor du hier mit solchen Kraftausdrücken herumwirft, solltes du dir mal überlegen, ob das notwendig ist!

Wenn du nicht weißt, wozu ich das brauche, dann kannst du ja fragen - aber das geht auch ohne Kraftausdrücke!

Hier kannst du nachlesen, warum für mich das notwendig ist: http://www.purebasic.fr/english/viewtop ... highlight=

Schönen Tag noch,
Hugo
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag von hardfalcon »

Du arbeitest da mit Threads. Das wirft 2 Fragen auf:
1.) Hast du ThreadSafe in den Compileroptionen aktiviert?
2.) Ist dir bewusst dass der Debugger bei Codes, die Threads verwenden, meist (immer?) völlig falsche Zeilennummern als Fehlerursache zurückliefert?

Was xperiences "Kraftausdrücke" betrifft: Sorry, aber er hat Recht. So nen "Bug" (ich habe starke Zweifel, dass es einer ist) umschifft man nicht, indem man den Debugger abschaltet... Ohne debugger wird da auch noch ein Fehler sein (wenn es denn ein Bug ist), du bemerkst ihn halt nur nicht mehr.

//EDIT: mein Posting bezieht sich auf den Code, den du im englischen Forum gepostet hast.
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

hardfalcon hat geschrieben:2.) Ist dir bewusst dass der Debugger bei Codes, die Threads verwenden, meist (immer?) völlig falsche Zeilennummern als Fehlerursache zurückliefert?
Öhm ... wenn ThreadSafe aktiviert ist, gibt der Debugger die richtige Zeile
an :wink:

Zu deinem Code / Problem ...
xperience2003 hats eventuell etwas hart ausgedrückt, aber ich frag mich
auch grad so ein wenig, was dass für einen Sinn haben soll. ...
EnableDebugger oder DisableDebugger ... aber beides ergibt so, wie du es
da nutzt ... keinen Sinn. Der Debugger regestriert vermutlich den Aufruf
von StartDrawing() und wenn er vorher deaktiviert wird, bzw. erst
dannach wieder aktiviert ... dann kann er den Aufruf natürlich nicht
registrieren :wink:

Selbst wenn man das als Bug bezeichnen will ... ist es eher so unrelevant,
das man sich nicht darum kümmern muss ... weil es einfach sinnlos ist. :D

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
xperience2003
Beiträge: 972
Registriert: 04.10.2004 18:42
Computerausstattung: Amiga, LinuxMint, Windows7
Wohnort: gotha
Kontaktdaten:

Beitrag von xperience2003 »

hi

jap, sorry, war eher lustig als hart gemeint

aber bei dem startdrawing und stopdrawing , das ist eine sequence
in der einige befehle zum abstuerzen fueren koennen
amiga rulez...
Rebirth Software
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Beitrag von DrShrek »

xperience2003 hat geschrieben:hi

jap, sorry, war eher lustig als hart gemeint

aber bei dem startdrawing und stopdrawing , das ist eine sequence
in der einige befehle zum abstuerzen fueren koennen
Es sollte niemals Abstürze geben. Das ist einfach eine Frage des Design. ;-)
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Antworten