AppBasic 3.03 released
Pages: 1 2
Fred Graute (114) 645 posts |
Hi All, AppBasic v3.03 is now available for download from here This was intended to be an update that could be applied to the v3.02 version but the AppBasic website, which was still up earlier this year, is now gone. Therefore AppBasic v3.03 is now released as a full version. About AppBasic AppBasic was created by Joe Taylor and offers a programming environment that makes creating applications in BASIC using the Toolbox much easier. In the words of Joe Taylor: “AppBasic is an Integrated Development Environment (IDE) which provides a user-friendly framework for the creation of standard RISC OS applications. Its use hugely speeds up the process of application development.” Main changes Most of the code changes that have been made are fixes for bugs that I’ve encountered over the years whilst using AppBasic. In addition to this a couple of new veneers have been dded for methods that the old Toolbox library didn’t support. API changes Changes in the API have been kept to a minimum in this release. Only the API of the TextArea_GetText veneer is different (see ‘Changes.TboxLib’ file). This makes the updated AppBasic a drop-in replacement for the old one. Programs written against the previous version should continue to work almost or completely unaltered. More info Please read the files in the ‘Changes’ directory for details of the changes that have been made. There are some thoughts n possible future modifications in there as well. Thank you Many thanks to Joe Taylor for allowing this release, and for creating AppBasic in the first place. A further thank you to Gavin Wraith for his assistance in getting Joe’s approval. All feedback is welcome! |
Chris Evans (457) 1614 posts |
Brilliant. I was worried that development of AppBasic was going to end. I remember Joe demonstrating it to me with great enthusiasm. In just a couple of minutes he knocked up a very useable program. Thanks Joe & Fred. |
Norman Lawrence (3005) 172 posts |
Many thanks Fred, AppBasic is a great piece of software and it is welcome news that it will continue to be developed. |
Paul Sprangers (346) 525 posts |
I took the opportunity to finally explore AppBasic and the Toolbox, but I ran into problems soon. First I tried the example program !MastMind, but it immediately produced an error: Bad call of ‘PROCButton_SetValue’, followed by a chain of numbers. Then I tried to create the ‘HelloWorld’ app, as described in the manual. However, by clicking New App and saving it to a directory, it produced a non-multitasking error: Fatal signal received: Illegal instruction, followed by several lines of incomprehensible output. Clicking the mouse removed the error window, and the app appeared to be saved after all, but with an empty Res file. So the exercise already stopped at step 2. Is it me again (most likely), or did I happen to discover a few little bugs by accident? By the way, the PDF manual misses the top line (not the headers) on nearly every page… |
Martin Avison (27) 1495 posts |
AppBasic v3.03 !MastMind works here, and I have just created a new App. This is on a Titanium with RO5.29 (02 Apr 2023). Some clues what your environment is might help, plus details of exactly what you did, and what the errors were. I have not read every line of the PDF manual, but I have not noticed any missing lines. Have your got a few examples? |
Paul Sprangers (346) 525 posts |
It’s a 4té2 with RO5.29 (26-Jun-22) – apologise for not mentioning. I’ve downloaded the application again and did a new installation. Creating a new application produces exactly the same errors as described in my former post. I’ve reset the machine, but to no avail. It might be some other program that is running simultaneously, but I’ve no clue which one – and besides, I can’t miss those other programs.
At closer reading, the missing lines appear to be there, but on the previous page. It’s the lay-out that somehow mislead me, apologise. |
David Pitt (9872) 363 posts |
MastMind fails here on both the Titanium and RPCEmu with recent OS5.29s with a “Missing )” error with throwback pointing to line3 in Initial. REM Initial DEF PROCDealWith_InitialEvent PROCDefineConstants solution=FNToolbox_CreateObject("Solution") PROCNew ENDPROC This seems to be complete nonsense. As far as I can see, on converting the source to a single !RunImage, the actual error is in
|
Martin Avison (27) 1495 posts |
Agreed. I think that in lines 416/7 the There is a similar bug at lines 166/7/8, and I have already notified Fred of that. [Ooops – edited to correct Fred’s name! Apologies] |
Fred Graute (114) 645 posts |
Martin has privately already pointed out this mistake to me but in another veneer. It’s caused by me doing a search for I’ll go over the Toolbox library to fix it and issue an update when done. Edit: to be frank, I’m not called Frank. :-) |
David Pitt (9872) 363 posts |
Bodge!! WIMP256%=(WIMP%+256) `x%=(WIMP256%!0)-(`w%DIV2) : WIMP256%!0=`x% : WIMP256%!8=`x%+`w% `y%=(WIMP256%!4)-(`h%DIV2) : WIMP256%!4=`y% : WIMP256%!12=`y%+`h% And it does not get garbaged by textile. |
Rick Murray (539) 13855 posts |
Well, it’s not invalid, it’s just not what you want. ;) For those not following, it reads the word at address 256 and adds it to WIMP%. |
GavinWraith (26) 1563 posts |
Failing to enclose compound expressions in parentheses is a hoary old gotcha, whether one is using search and replace or macros. See, for example, chapter 7, on the preprocessor, in The C Book by Mike Banahan, ISBN 0 201 17370 0. |
Fred Graute (114) 645 posts |
Good point. I stand corrected.
I thought so too but BASIC is not having it. You can use |
David Pitt (9872) 363 posts |
Is this an effect of arithmetic operator precedence? According to the BBC BASIC Guide both indirection and brackets have priority 1.
|
Martin Avison (27) 1495 posts |
WIMP%!260 etc is probably the best way – must be ambiguous precedence as David suggested. Never seen that before! |
Rick Murray (539) 13855 posts |
D’you think it might get the message if you try ((((((((WIMP%+256))))))))!4 ? |
nemo (145) 2563 posts |
The indirection modifiers are not operators and do not have a precedence, in that sense. They are binding modifiers really, and apply to the resolving of symbols. Hence Also note that “ |
Fred Graute (114) 645 posts |
AppBasic 3.04 is now on the website. There’s also a much smaller update for those that have already downloaded the 3.03 version. This should fix the reported problems. If it doesn’t, or you find other issues, then please let me know. |
Paul Sprangers (346) 525 posts |
I’ve downloaded version 3.04, and !MastMind is now working fine. 1. Run !AppBasic. Its icon appears on the left hand side of the iconbar. What am I missing? |
David Pitt (9872) 363 posts |
I see the same backtrace on the RPi4. It is OK on the Titanium however. It is probably a SWP thing. I will dig further. |
Martin Avison (27) 1495 posts |
@Paul: What version is shown with command [Edit] But is fails as above here on my RPi4 with ABCLibrary v5.01. Ahah! The error is while executing CCRes create the Res file from <Wimp$Scrap>. |
Paul Sprangers (346) 525 posts |
*Help ABCLibrary says 5.01 (15 Jun 2022) |
David Pitt (9872) 363 posts |
And what I dug up was this. The problem is Get a later version of The ccres tool is inside !CCRes, The SWP instruction, as coded by older GCC’S, is not supported on later Pi’s so old builds fail on the Pi but work on the Titanium, that does support SWP. Later versions of GCC guard against this and produce code that works everywhere. |
Paul Sprangers (346) 525 posts |
Thanks David, that’s it! |
Andrew McCarthy (3688) 606 posts |
Nice, replacing ccres with a newer version from Packman also fixes AppLua. Thank you. :) |
Pages: 1 2