Author |
Topic: LB 4.5 is underwhelming (Read 2459 times) |
|
tsh73
Full Member
member is offline


Gender: 
Posts: 210
|
 |
Re: LB 4.5 is underwhelming
« Reply #2 on: Jul 29th, 2015, 11:05am » |
|
>>so far not a single one has been fixed!
why. It is said that "path limit" in open dialog window has been fixed. And bug with Paste shortcut (Ctrl V) where text is pasted in another (not active) control is fixed too (actually I requested that fix).
|
| « Last Edit: Jul 29th, 2015, 11:06am by tsh73 » |
Logged
|
|
|
|
Richard Russell
Administrator
member is offline


Posts: 1348
|
 |
Re: LB 4.5 is underwhelming
« Reply #3 on: Jul 29th, 2015, 12:08pm » |
|
on Jul 29th, 2015, 11:05am, tsh73 wrote:It is said that "path limit" in open dialog window has been fixed. And bug with Paste shortcut (Ctrl V) where text is pasted in another (not active) control is fixed too (actually I requested that fix). |
|
I said "of the ones I have tested" and I didn't try those (I wasn't even aware of the second one).
But my point remains: even something as serious as the TIMER bug - which really impacts on programs, especially because of label scope issues - is unchanged. This program locks up LB 4.5.0 (try moving the IDE window):
Code: timer 100, tick
wait
sub tick
print "Tick"
end sub Richard.
|
|
|
|
mclout99
New Member
member is offline


Gender: 
Posts: 2
|
 |
Re: LB 4.5 is underwhelming
« Reply #4 on: Jul 29th, 2015, 3:56pm » |
|
Does the release candidate pose any compatibility issues for LBB and if so will you update LBB to fix that? As alway Thanks Richard.
|
|
Logged
|
|
|
|
Richard Russell
Administrator
member is offline


Posts: 1348
|
 |
Re: LB 4.5 is underwhelming
« Reply #5 on: Jul 29th, 2015, 4:39pm » |
|
on Jul 29th, 2015, 3:56pm, mclout99 wrote:| Does the release candidate pose any compatibility issues for LBB and if so will you update LBB to fix that? |
|
LBB 3.00 already supports the main new features of LB 4.5.0:
The available memory is increased (to 500 Mbytes rather than 1 Gbyte, but LB 4.5.0 does not run at all on my Windows XP PC because 1 Gbyte cannot be allocated).
The texteditor control and text window have the !find, !findback, and !resetfind commands.
The texteditor control and text window have the !backcolor and !forecolor commands.
Boolean expressions are truncated to an integer, so for example the condition if 0.5 is treated as false.
The new string functions are not natively supported in LBB 3.00, but are available as a library which can be included in a program (and because LB 4.5.0 ignores the 'include directive this confers full compatibility). So that really only leaves the new inputcsv statement as something which LB 4.5.0 has but LBB 3.00 doesn't. I could either add that in a future version, or make available a user-defined routine with equivalent functionality.
Richard.
|
|
Logged
|
|
|
|
bluatigro
Full Member
member is offline


Gender: 
Posts: 111
|
 |
Re: LB 4.5 is underwhelming
« Reply #6 on: Jul 30th, 2015, 09:13am » |
|
i wood it liked it more if carl made : SWAP SGN() ATAN2() INCLUDE PI , TRUE , FALSE as const hopefuly he wil do that + OOP in LB5 SWAP , SGN , ATAN2 are also not in LBB300
|
|
Logged
|
|
|
|
Richard Russell
Administrator
member is offline


Posts: 1348
|
 |
Re: LB 4.5 is underwhelming
« Reply #7 on: Jul 30th, 2015, 10:53am » |
|
on Jul 30th, 2015, 09:13am, bluatigro wrote:| SWAP , SGN , ATAN2 are also not in LBB300 |
|
SWAP and SGN are in LBB 3.00, if you do not mind using the BBC BASIC escape feature:
Code: a = 1
b = 2
!SWAP a,b
print a,b Code: a = -3.14159
b = 0
c = +3.14159
!a = SGN(a)
!b = SGN(b)
!c = SGN(c)
print a,b,c Richard.
|
|
Logged
|
|
|
|
SarmedNafi
Junior Member
member is offline


Posts: 93
|
 |
Re: LB 4.5 is underwhelming
« Reply #8 on: Aug 1st, 2015, 05:30am » |
|
Code:
But my point remains: even something as serious as the TIMER bug - which really impacts on programs, especially because of label scope issues - is unchanged. This program locks up LB 4.5.0 (try moving the IDE window):
Richard,
The TIMER bug which they mentioned to on their "Bug tracker" site is more than a SUB routine problem.
If you please run the following modified code on both LB and LBB.
'code---------- timer 100, tick wait
[tick] print "Tiiiiick" wait 'code---------
Actually I got a lot of disappointments from LB. Now I got that freeze, halted, locked, hangup, or whatever you call it for no sensible reason. Each time I used Timer in my programs I felt the PC or OS became unhappy, what should I do? I have to use LBB. There is no other choice for me.
Regards, Sarmed
|
|
Logged
|
|
|
|
Rod
Full Member
member is offline


Gender: 
Posts: 110
|
 |
Re: LB 4.5 is underwhelming
« Reply #9 on: Aug 1st, 2015, 07:31am » |
|
Sarmed you have given the timer a sub handler name but not written the sub. The way to avoid timer issues is to contain any timer delay within its own sub which would appear to fix the scope issue.
|
|
Logged
|
|
|
|
SarmedNafi
Junior Member
member is offline


Posts: 93
|
 |
Re: LB 4.5 is underwhelming
« Reply #10 on: Aug 1st, 2015, 07:57am » |
|
Yes, Dear Rod,
I did but LB goes inside the branch label and run it, displays Tiiiick the code is wrong LB accepted, and makes a wrong execution.
I wonder, are you going to make me refuse what I seen on my screen, or you ask me to write correct code because LB accepts and run wrong codes. So we must pay more attention.!
You know what? I run my code on LBB just to help me find if there were errors I made not reported by LB.
With all respects, Sarmed
|
|
Logged
|
|
|
|
SarmedNafi
Junior Member
member is offline


Posts: 93
|
 |
Re: LB 4.5 is underwhelming
« Reply #11 on: Aug 1st, 2015, 08:08am » |
|
Rod,
As you here, please note. There is something wrong with timer at least under LB, I have to change any SUB in my program into branch label, just to prevents my program from got freeze after I use many timers, of course I close each one at the beginning of any branch, but this is the only way I have in spite I don't use any SUBs with any timer in my program, the window got freeze when I touched it's capture. Therefor I said the problem is in Timer not in subs as they said on their bug tracker site. I hope Carl will take care of that.
Regards Sarmed
|
|
Logged
|
|
|
|
Richard Russell
Administrator
member is offline


Posts: 1348
|
 |
Re: LB 4.5 is underwhelming
« Reply #12 on: Aug 1st, 2015, 09:27am » |
|
on Aug 1st, 2015, 07:57am, SarmedNafi wrote:| I run my code on LBB just to help me find if there were errors I made not reported by LB. |
|
To be fair, sometimes you need to do the opposite! The program you listed should report something like "No such subroutine 'tick'" but in LBB the error is silently ignored. 
But you are right that in LB 4.04 and LB 4.5.0 the timer has more problems than just the SUB handler. In particular it upsets the operation of the PROMPT statement.
So, since there's obviously something not right with TIMER, I'm not surprised that you have encountered other issues with its use.
Richard.
|
|
Logged
|
|
|
|
SarmedNafi
Junior Member
member is offline


Posts: 93
|
 |
Re: LB 4.5 is underwhelming
« Reply #13 on: Aug 1st, 2015, 10:28am » |
|
Rod,
If you still here please run the following, It is a disaster. The second release of LB 450 will RUN all the following Branches whatever names they have or quantity.
Please tell Carl I am sure he listen well to you.
'code---------- timer 100, tick wait
[ticktacktoock] print "ticktacktoock" wait
[secondTick] print "secondTick" wait
'code---------
Regards Sarmed
|
|
Logged
|
|
|
|
Richard Russell
Administrator
member is offline


Posts: 1348
|
 |
Re: LB 4.5 is underwhelming
« Reply #14 on: Aug 1st, 2015, 11:17am » |
|
on Aug 1st, 2015, 10:28am, SarmedNafi wrote:| If you still here please run the following, It is a disaster. |
|
I don't think it is a "disaster", but it is certainly surprising and affects not only the timer. Try this program in LB and you'll see that BUTTON events misbehave as well (click on the button three times and watch what happens):
Code: UpperLeftX = 1
UpperLeftY = 1
button #w, "Click me and view the mainwin", tick, UL, 20, 100
open "Event bug" for window as #w
wait
print "Fell through a WAIT statement: should never happen!!"
[ticktacktoock]
print "ticktacktoock"
wait
print "Fell through a WAIT statement: should never happen!!"
[secondTick]
print "secondTick"
wait
print "Fell through a WAIT statement: should never happen!!" I am beginning to think this bug explains the occasional report I have seen of code following a WAIT statement being executed - because it's exactly what happens in this case!
In LBB there is no way the statement immediately following a WAIT can be executed, unless it has a label.
Richard.
|
|
Logged
|
|
|
|
Richard Russell
Administrator
member is offline


Posts: 1348
|
 |
Re: LB 4.5 is underwhelming
« Reply #15 on: Aug 21st, 2015, 09:41am » |
|
Now that LB 4.5.0 is officially released I thought it appropriate to list once again a library for LBB which supports the new string functions: after$, afterlast$, remchar$, replstr$, upto$ and httpget$ (I've also included the endswith function although I can't find it mentioned anywhere in the LB 4.5.0 help file!).
To ensure that a program using one or more of these functions is fully compatible with both LBB and LB 4.5.0 you should save the code listed below to a file (called lb45func.bas or something like that). Then add this command at the very end of your program:
Code:(must start in the first column and end with a newline).
Because this command is ignored by LB the native functions will be called when running in LB 4.5.0 and the library functions when running in LBB.
Here is the library:
Code:' LB 4.5.0 function library for LB Booster
' by Richard Russell, http://lbbooster.com
function after$(source$, match$)
i = instr(source$, match$)
if i then after$ = mid$(source$,i+len(match$))
end function
function afterlast$(source$, match$)
do : i = j
j = instr(source$, match$, j+1)
loop until j = 0
if i then afterlast$ = mid$(source$,i+len(match$))
end function
function endswith(source$, match$)
endswith = right$(source$,len(match$)) = match$
end function
function remchar$(source$, charset$)
for i = 1 to len(charset$)
do
j = instr(source$, mid$(charset$,i,1))
if j then source$ = left$(source$,j-1);mid$(source$,j+1)
loop until j = 0
next
remchar$ = source$
end function
function replstr$(source$, old$, new$)
do
i = instr(source$, old$, i+1)
if i then
source$ = left$(source$,i-1);new$;mid$(source$,i+len(old$))
i = i + len(new$) - 1
end if
loop until i = 0
replstr$ = source$
end function
function upto$(source$, match$)
i = instr(source$, match$)
if i then upto$=left$(source$,i-1) else upto$=source$
end function
function httpget$(url$)
open "WININET.DLL" for dll as #net
calldll #net, "InternetOpenA", "LB Booster" as ptr, 0 as long, _
0 as long, 0 as long, 0 as long, hnet as ulong
calldll #net, "InternetOpenUrlA", hnet as ulong, url$ as ptr, _
"" as ptr, 0 as long, 0 as long, 0 as long, hurl as ulong
buffer$ = space$(1000)
struct httpget, nread as long
do
buflen = len(buffer$)
calldll #net, "InternetReadFile", hurl as ulong, _
buffer$ as ptr, buflen as long, httpget as struct, res as long
httpget$ = httpget$ + left$(buffer$, httpget.nread.struct)
loop until httpget.nread.struct = 0
calldll #net, "InternetCloseHandle", hurl as ulong, res as long
calldll #net, "InternetCloseHandle", hnet as ulong, res as long
close #net
end function Richard.
|
|
|
|
|