freak wrote:Even the debugger errors are nothing more than a hint to the programmer.
That's not true. A warning is a hint. An error stops you to continue without further investigation (either a fix if it was a failure done by you or workaround).
and nothing will be different than in earlier versions.
For sure it is different. You don't debug that lines and usage is changed as well if you try to use as less variables as nessesary:
Code: Select all
; PB old
Procedure ProgressWindow1(*unused)
Protected pb_window1
Protected pb_window2
pb_window1 = OpenWindow(#PB_Any,0,0,120,40,"test1")
pb_window2 = OpenWindow(#PB_Any,0,0,120,40,"test2",#PB_Window_ScreenCentered,pb_window1) ; ParentID is not a valid WindowID() - ops forgot WindowID() good to have a debugger that told me
If pb_window2
Repeat
Select WindowEvent()
Case #PB_Event_Gadget
Case #PB_Event_CloseWindow
CloseWindow(pb_window2)
ProcedureReturn(0)
EndSelect
ForEver
EndIf
EndProcedure
Code: Select all
; PB 5.0 - don't run ... it's bugged
Procedure ProgressWindow2(*unused)
Protected pb_window1
Protected pb_window2
Protected event_var
DisableDebugger
pb_window1 = OpenWindow(#PB_Any,0,0,120,40,"test1")
pb_window2 = OpenWindow(#PB_Any,0,0,120,40,"test2",#PB_Window_ScreenCentered,pb_window1) ; Hopefully this mistake would not occure in some code with many thousands of lines - could be fun to debug if something else makes unexcpected stuff afterwards
EnableDebugger
If pb_window2
Repeat
DisableDebugger
event_var = WindowEvent()
EnableDebugger
Select event_var
Case #PB_Event_Gadget
Case #PB_Event_CloseWindow
CloseWindow(pb_window2)
ProcedureReturn(0)
EndSelect
ForEver
EndIf
EndProcedure
You are making this a bigger deal than it really is.
Changing an error to a warning is no big deal. Staying on an older bugged version or make your debugger blind on various parts of your code is something fully different. Why are you always stopping to tell us it's nothing?
What is wrong with finishing a program in the PB version where it was started?
You remember the OpenWindow bug I reported that nobody was willing to hear at first? The threads finally got 4 or 5 pages and seems silently gone now. I could not find it anymore. Did you delete it? At first I reported a reproduceable bug in OpenWindows in Windows PB and afterwards a bug with OpenWindows and threads in linux. After lot of investigation from my side to show you how to reproduce the bug in windows (and fighting against windmills - coz most was not willing to hear... until I finally was able to show you crazy jumping windows) there came a fix to Windows-Version of PB. The Linux-version did not get fixed to work like written in PB doc but the fault was declared to be on OS side. But it's no bug in the GUI of linux. So it's even not linuxs fault.
are really not as big a deal as you people make it sound.
And why do you think your program is the same as everybody else program? Changing independent windows that lived on their own and merge it into a big main is a big deal. You compare apples and banana. It's not like dropping one command or add few parameters - it's a full rewrite of your design (merging loops, variables, passing events from one to other threads that did not have to care regarding each other to that point). I already considered to move the parts that was working in threads into different processes and find a way to move security sensitive data to other process. I even cosidered to port it to QT. But while considering all that much work I thought a few times -> "Why is it necessary that this must be an error and could not be a warning?!". And I found other users here that +1 a warning instead an error as well. For sure you could find a sollution if you invest a lot of time. But it's even possible to change the error to a non-stoping non-debugger-jamming warning. Which users would get angry regarding the change? I was one of the few (or seriously the first) that used OpenWindows and threads in linux and found out that it did not work like it was written in the docu which I read while coding in windows. I reported it as PB bug and got as answer that it's a limitation of that linux-gui. Well to late for me. I thought I could use 1:1 in linux. Was even my fault for sure. I had to test it more often while coding on windows. There was no warning in previous versions of PB that would inform me that my program would be a Windows-Only if I use it that way. The PB-error is the worst sollution for me now. I never get a working-linux version with OpenWindow in threads it seems (it's limited by the design of the linux-gui) I even could not use the windows-version that way anymore without jamming the debugger.