View Full Version : thinBasic beta 1.7.10.0
ErosOlmi
06-09-2009, 05:13
thinBasic Beta 1.7.9.0 version development has been stopped and moved to thinBasic 1.7.10.0
Here is the link where you can download it: http://www.thinbasic.biz/projects/thinbasic/thinBasic_1.7.10.0.zip
Here is the link to PDF version of help file: http://www.thinbasic.biz/projects/thinbasic/thinBasic_Help(PDF).zip (about 6Mb)
This beta supersede any other beta versions so far and includes all recent changes including up to date TBGL and Oxygen modules.
This Beta features the first release of new thinAir in which the editor control has been completely rewritten.
Huge set of new features and functionalities.
Attention:
this version deletes \thinBasic\thinAir\ directory during installation.
If you have script files or personal files in that directory, please move them into another directory before installation.
Petr Schreiber
06-09-2009, 11:59
The update to TBGL, among other things, brings support for new version of M15 format.
The difference is in support for storage of normal vectors.
New M15 file specification can be downloaded from here:
http://psch.thinbasic.com/data/thinEdgeM15_fileformat.pdf
Updated OBJ2M15 with normal support can be obtained here:
http://community.thinbasic.com/index.php?topic=1418.msg10052#msg10052
This enhancements allow better integration of models with specific normals, like furniture.
Attached image shows chair exported from Rhinoceros (model courtesy of Roman Čípek).
You can see the import of normals helped tricky situation when both smooth and precise normals are required.
Jordi Vallès
06-09-2009, 14:10
Hello
I try to download the new version but my AV (ESET NOD32) detects a possible virus in the zip file.
Message created by the AV is:
"06/09/2009 13:56:06 HTTP filter file http://www.thinbasic.biz/projects/thinbasic/thinBasic_1.7.10.0.zip probably unknown STEALTH.CRYPT.TSR.DRIVER virus connection terminated - quarantined XXXX\yyyy Threat was detected upon access to web by the application: C:\Program Files\Mozilla Firefox\firefox.exe."
My AV has been updated today. Update 4399 (20090905)
Do you know this incovenience?
Regards
Jordi
ErosOlmi
06-09-2009, 14:53
Well, that's sure a false positive from NOD32.
thinBasic is developed on a machine running Trend Office Scan Corporate Edition.
Setup is created using Inno Setup (http://www.jrsoftware.org/isinfo.php).
Setup is than checked against kaspersky AV.
ZIP is created using Windows XP native compressing functionality.
I will check NOD32 web site and see what I can get.
ErosOlmi
06-09-2009, 15:01
I tried NOD32 Online scanner at http://www.eset.com/onlinescan/ but unfortunately it GPF in IE8 (even in compatibility mode) and also cannot be executed from FireFox.
I suppose it GPF because it try to install an IE Helper that my Firewall (Comodo) does not like.
I will try into a different way.
ErosOlmi
06-09-2009, 15:22
Ok, I've installed NOD32 30 days free trial and confirmed the problem both on thinBasic 1.7.10.0 ZIP download and also on thinCore.dll (1.7.10.0) library if already present on disk.
Of course it is a false positive.
And looking googling around I've found that recently NOD32 had a lot of false positive errors, some even on the Windows OS: http://kb.eset.com/esetkb/index?page=content&id=SOLN2181&actp=LIST_POPULAR
The fact that NOD32 reply with a "probably unknown ..." message is a clear indication that the AV engine is (for some reasons) not able to scan the requested file so it is marked as a potential virus while it is not.
I will see if I can do something like changing some code and recompiling. Sometimes this solves the problem.
ErosOlmi
06-09-2009, 15:36
Ok, I've sent an email to ESET customer support.
Hope they will reply with a solution.
_________________________________________________
Thank you for contacting ESET's Customer Care department.
Your request for support has been received and will be reviewed shortly.
Case #364574 - "thinBasic programming language" has been created for you.
To respond to this case, simply reply to this e-mail.
Message History
Hi there.
I'm the author of thinBasic programming language. Recently I have released a new version of my application. It can be found at: http://community.thinbasic.com/index.php?topic=2899.msg21972#msg21972
It seems NOD32 is detecting the ZIP file as "probably unknown STEALTH.CRYPT.TSR.DRIVER". Some of my users using NOD32 cannot download it.
I tried your 30 days free version and I can confirm it. I also downlaoded and installed thinBasic programming language without NOD32 and than activated NOD32. In this case thinCore.dll is again considered a possible virus while it is not.
As additional details: all my .exe or .dll are packed with UPX.
Can you please give me back and possibly find a solution? I update thinBasic programming language quite often.
I tested thinBasic and all my developed applications using Trend Micro Office Corporate edition.
Regards.
Eros Olmi
ESET, LLC | Home - http://www.eset.com | We Protect Your
Customer Care | Support - http://www.eset.com/support/index.php | Digital Worlds
Michael Hartlef
06-09-2009, 16:14
Same goes for AVIRA Antivir, it reacts on the TBP/IP modules again and during installation. Maybe on the onlinecore module as well.
Maybe it would be wise not to UPX these modules.
I recently started using Panda Cloud Antivirus (http://www.cloudantivirus.com/) & encountered no problems. :eusadance:
Jordi Vallès
06-09-2009, 19:46
It's the first time that a false positive has been detected with NOD32. Till now no problems in the previous downloads of thinBasic beta versions or any other product.
Thanks for your interest.
Jordi
ErosOlmi
07-09-2009, 07:47
ESET (NOD32) follow up
Update for Case #364574 - "thinBasic programming language"
An ESET Customer Care Representative has updated this case with the following information:
Hello,
You'll have to contact our virus lab so that they can take a look at the file. If it's being incorrectly flagged and is a false positive they can remove it from the database in the next update..
This kb article explains.
http://kb.eset.com/esetkb/index?page=content&id=SOLN141
Thank you,
Eset Technical Support
I've sent all info to ESET Virus Lab.
We will see.
ErosOlmi
07-09-2009, 07:51
Same goes for AVIRA Antivir, it reacts on the TBP/IP modules again and during installation. Maybe on the onlinecore module as well.
Maybe it would be wise not to UPX these modules.
No, Michael. I will not change my development behaves because an AV is failing otherwise we will enter into and endless story.
I'm not doing anything strange. I'm just compacting my DLLs or EXEs and this is not against any rule.
I need to solve the problem directly with the AV creators otherwise every now and than we will restart again this nightmare.
After ESET (NOD32) will reply and possibly solve the problem I will contacted AVIRA too. If ESET recognize thinBasic is not a threat I can have more changes to solve the problem with AVIRA too. At least I hope.
Ciao
Eros
ErosOlmi
08-09-2009, 07:56
Hi all.
I've updated thinBasic 1.7.10.0. You can download it from the link in the first post of this thread.
Main changes:
updates InnoSetup (Setup creation) from version 5.2.2 to version 5.3.4.
This could help in avoiding AV false positive
Changed some code generation flags for thinCore.dll.
Again this could help in avoiding AV false positive
thinAir: more keyboard accelerators are now active
thinAir: comment/uncomment is now working
thinAir: right click context menu started to work. Not much options but more will come
thinAir: editor soft tabs are now in place instead of real tabs. Also number of tabs will reflect the one setup in thinAir config
thinAir: list of functions/sub all in one place in Code Browser
Oxygen: updated to the latest available
Hope AV false positive will be reduced. I'm still waiting a reply to my mail from ESET (NOD32)
Ciao
Eros
Jordi Vallès
08-09-2009, 09:53
Version 1.7.10.0 updated has been downloaded now with NOD32 without problems.
Thanks and regards.
Jordi
ErosOlmi
08-09-2009, 10:37
Thanks a lot Jordi for feedback.
This confirms the false positive because I didn't change anything important.
For the Setup I just just update to new Inno Setup.
I suspect old version of Inno Setup was marked as possible threat maybe because used to spread some virus. But not sure.
NOD32 was also warning about thinCore.dll and again I didn't change anything important other than changing a compiler directive from "#ALIGN 4" to "#ALIGN 2".
#ALIGN is used to round up the instruction location to a power of two address. PowerBASIC inserts NOP instructions into the code section to bring the instruction location up to the desired address. So it mainly do nothing but change the machine code generated. This was sufficient to let the AV bypass its signatures but does not solve the problems for future thinBasic releases. I hope they will get back with a definitive solution.
Petr Schreiber
08-09-2009, 10:47
Just noticed "Find and replace" dialog allows replacing both in whole file and just in selection too.
This little detail makes me happy, thanks Eros!
ErosOlmi
08-09-2009, 10:58
Just noticed "Find and replace" dialog allows replacing both in whole file and just in selection too.
This little detail makes me happy, thanks Eros!
There are a lot of new feature in new Codemax edit control that will make programmers happy. I'm sure about that.
I will try to document them as much as possible later when I will be able to finish to develop the minimum to be considered stable.
I extremely like vert/Hor splits very useful for big scripts.
Also vertical selection of text is nice (keep ALT pressed while selecting) with cut/copy/paste also working in vertical mode.
What about regular expression in search/replace
I'm sure I will be able to add many nice ways of working with source code.
Ciao
Eros
Michael Hartlef
08-09-2009, 13:12
Hi eros, i will test it tonight.
Michael Hartlef
08-09-2009, 20:45
Ok, during install of thinBasic AVIRA AntiVir acted up on a file. One of the libs, the installation names a tmp file.
Now to testing thinAir. I take it, it is a very early version. So it is hard to tell if it is a bug, not an implemented feature or a not fixed to the new editor component feature.
These things I noticed:
1) The function browser window is fixed on the left side. You can't move it. When you maximise the main window it will be covered by it.
2) When I want to change the font in the options dialog, the sample edit item is empty and as soon as I confirm, it says that thinbasic isn't located in the path
3) No auto capitalization of the keywords.
4) When you comment lines, and want to UNDO that action, you have to undo each single line. A group undo would be better.
5) A changed file isn't nowhere indicated as such, liek with an asterix infront of the filename or such.
That's all for now. I know from the past developing an editor is a lot of work so hats off to you for doing it.
Cheers
Michael
ErosOlmi
08-09-2009, 21:24
Thanks Michael.
Yes, I can confirm it is a lot of work :D
But it is worth to do it and also I have to do it.
Do not spend too much time on finding problems because at the moment problems are quite evident :oops:
Once I will reach a sufficient level of problems fixed I will ask to go though and check again.
Thanks again.
Eros
Michael Hartlef
08-09-2009, 22:04
okidoki.
Michael Clease
08-09-2009, 23:13
okidoki.
thats my daughters new word :lol:
Thanks for the update Eros and I am testing when I get time but DIY is getting in the way at the moment.
on a side note I am working on a module but I'm keeping quiet for the moment, I wrote a test version in TB and now I want to rewrite in Freebasic but I cant get string to work properly. I'm doing it in FB so that when its done I can release the code for anyone to work on.
ErosOlmi
09-09-2009, 00:00
Great, thanks.
On FB strings maybe you can ask Charles. He had done a lot with Oxygen.
Maybe you can download Oxygen sources and see how things work on there.
Let me know.
Eros
Charles Pegge
09-09-2009, 00:22
Hi Mike,
TB uses ole Bstrings but FB uses its own system for dynamic strings. To cross the compatibility barrier I copy the byte contents from one to the other, creating new Bstrs when returning strings to TB
Charles
ErosOlmi
13-09-2009, 11:48
Hi all.
I've updated thinBasic 1.7.10.0. You can download it from the link in the first post of this thread.
Main changes:
thinAir: improved with new Code control window (docked). This new window is just a start so it can happen that there are some bugs. I will improve a lot in near future
thinAir: code editor improved comment/uncomment undo/redo
thinAir: upper tabs now linked with editor windows
thinAir: fixed keywords proper case while typing
thinAir: fixed hard/soft tabs and tabs size
Help: added help for SMTP keywords
TBGL: updated to the latest available
Oxygen: updated to the latest available
Hope AV false positive will not be present. If yes, please let me know which file and which AV software.
I will try to contact AV software developer and change something in thinBasic files in order to bypass those errors.
Ciao
Eros
Petr Schreiber
13-09-2009, 12:04
Good job Eros,
thinAir is now much more usable and the docking code browser is superb!
NOD32 was silent during the installation and execution of the scripts.
Michael Hartlef
13-09-2009, 15:33
Nice job. I like that you can position the codebrowser like you want to. I prefer it on the right side.
AVIRA Antivir acted up again.
ErosOlmi
13-09-2009, 16:20
I will release a new version in 30 mins from now.
Petr found a problem in thinAir that can produce 99% CPU usage. It is now fixed but I need to repackage thinBasic again.
ErosOlmi
13-09-2009, 16:26
Nice job. I like that you can position the codebrowser like you want to. I prefer it on the right side.
AVIRA Antivir acted up again.
Michael,
during setup installation, setup uses temp files names to extract files from setup. Than files are renamed.
The file Avira is complaining is for sure a .DLL mod. Can you check which one is missing? Is still INext module?
Also HEUR/Malware is in many occasions used when AV suspect something but not sure so all goes under Heuristic.
Eros
ErosOlmi
13-09-2009, 17:01
Updated thinBasic beta 1.7.10.0 again. You can download it from the link in the first post of this thread.
Main changes:
thinAir: possibly fixed 99% CPU usage reported by Petr.
thinAir: removed install differentiation WIN9x and more recent OS because thinAir is now back compatible. So setup is a little bit smaller (few Kb)
thinAir: few cosmetic changes to Code Browser taken/inspired by José Rocha SED editor. Just started but because I had to release this fix, they are already there even if incomplete
Sorry for the problem
Eros
Michael Hartlef
13-09-2009, 19:22
Can not check Eros as I trust your software and so said inore the warning and then it will install.
ErosOlmi
13-09-2009, 21:09
Can not check Eros as I trust your software and so said inore the warning and then it will install.
:D
ErosOlmi
13-09-2009, 23:00
Can not check Eros as I trust your software and so said inore the warning and then it will install.
Ok, I installed a VM with AVIRA as AV software.
The suspected module by AVIRA is thinBasic_TcpUdp.dll
If I pack with UPX it is considered suspected. If I do not pack it, AVIRA says nothing.
I will see what I can do.
ErosOlmi
14-09-2009, 06:08
Updated thinBasic beta 1.7.10.0 again. You can download it from the link in the first post of this thread.
Main changes:
thinBasic_TcpUdp.dll: in order to by-pass AVIRA false positive scan, this module is no longer compressed with UPX.
For the moment this is the only way I've found to solve the problem
Eros
Michael Hartlef
14-09-2009, 08:27
Thank you Eros :eusaclap:
ErosOlmi
16-09-2009, 01:34
Updated thinBasic beta 1.7.10.0 again. You can download it from the link in the first post of this thread (http://community.thinbasic.com/index.php?topic=2899.msg21972#msg21972).
Main changes:
thinAir: improved Code Browser docked window. Docking position and size will be stored in .INI file
thinAir: colors and fonts can be changes using "right click/Edit Properties" over any editing window. Settings will be stores in .INI file.
thinAir: improved file opening/loading using internal Codesense native functionality
TBASS: fixed documentation for TBASS_ChannelGetAttributes and TBASS_ChannelSetAttributes. Ranges were wrong
Oxygen updated to the latest available
Eros
Petr Schreiber
16-09-2009, 09:34
Thanks Eros,
I like the new release!
Just one thing - tbass_ChannelGetData and new equates are not highlighted.
I think the equates:
%TBASS_DATA_FFT256
%TBASS_DATA_FFT8192
are currently missing.
It was good idea to add [Yes][No][Cancel] when closing tabs, it will prevent code loss.
ErosOlmi
16-09-2009, 09:39
It was good idea to add [Yes][No][Cancel] when closing tabs, it will prevent code loss.
Sorry Petr, what do you mean?
Petr Schreiber
16-09-2009, 09:41
Previously, when using right click on TAB, it closed the file immediately (at least I think).
Now it asks whether I want to save first.
ErosOlmi
16-09-2009, 09:46
Previously, when using right click on TAB, it closed the file immediately (at least I think).
Now it asks whether I want to save first.
Ok, I got it, sorry.
I thought you was asking for that feature and I didn't understand because I supposed it was already there.
I will check for TBASS issues.
Ciao
Eros
Charles Pegge
16-09-2009, 09:51
Thanks for the update Eros. I see that the presence of multiline strings in a file prevents keyword capitalisation.
Good simple solution!
Charles
ErosOlmi
16-09-2009, 10:38
Updated thinBasic beta 1.7.10.0 again. You can download it from the link in the first post of this thread (http://community.thinbasic.com/index.php?topic=2899.msg21972#msg21972).
Main changes:
Setup file included in ZIP is now been validated with a digital certificate.
This is the first step/test. In future I think I will be able to digitally sign all .EXE and .DLL files distributed by thinBasic development team.
Eros
ErosOlmi
16-09-2009, 13:05
Updated thinBasic beta 1.7.10.0 again. You can download it from the link in the first post of this thread (http://community.thinbasic.com/index.php?topic=2899.msg21972#msg21972).
Main changes:
dummy error in new function TBASS_ChannelGetData that GPF TBASS module.
Eros
Michael Hartlef
17-09-2009, 19:30
Hi Eros,
not sure if I should open a new topic for wishes for thinAIR.
I understood so far that because of multiline highlighting of strings, auto capitalization of keywords isn't possible anymore. It would be great to have a tool that will change the capitalization, maybe the tool that will format the code regarding indention could do that too.
Another suggestion would be, when you have thinAIR open and want to work on another script via right click...open...; Currently it will open a new instance of thinAIR. It would be great if it would open inside the allready existing instance.
Keep up the great job :eusaclap:
Michael
Michael Hartlef
17-09-2009, 19:30
Btw, AVIRA Antivir doesn't report anything anymore :D
Petr Schreiber
17-09-2009, 19:34
Another suggestion would be, when you have thinAIR open and want to work on another script via right click...open...; Currently it will open a new instance of thinAIR. It would be great if it would open inside the allready existing instance.
I guess Eros will focus on richedit interaction tuning first, but I would like to see this too, I appreciate this feature in PSPad.
Michael Hartlef
17-09-2009, 20:26
I know I know, just wanted to get this out. :)
ErosOlmi
17-09-2009, 22:23
I understood so far that because of multiline highlighting of strings, auto capitalization of keywords isn't possible anymore. It would be great to have a tool that will change the capitalization, maybe the tool that will format the code regarding indention could do that too.
I still not gave up in finding a solution ...
Another suggestion would be, when you have thinAIR open and want to work on another script via right click...open...; Currently it will open a new instance of thinAIR. It would be great if it would open inside the allready existing instance.
Done. Will be present in next release.
:D
Michael Hartlef
18-09-2009, 20:52
Thanks Eros.
I never saw someone doing a better support for his users than you. Some people could really learn something from you but it would be helpless as they think they stand above everything.
ErosOlmi
27-09-2009, 22:07
Updated thinBasic beta 1.7.10.0. You can download it from the link in the first post of this thread (http://community.thinbasic.com/index.php?topic=2899.msg21972#msg21972).
Main changes:
thinAir: improved Code Browser docked window adding an Explorer like tab that will list thinBasic files. Directory will be in sync with current script file.
thinAir: only one session of thinAir will be executed. Right click/Edit a script file in Explorer shell will detect it and pass edited script to running thinair.
thinAir: added right click detection of #INCLUDE so it will be able to open included files on the fly
TBGL module: updated to the latest available
Oxygen module: updated to the latest available
Eros
Thanks for the update Eros!
I detected one error: ThinAir crash if I open two scripts.
ErosOlmi
28-09-2009, 10:24
Thanks for the update Eros!
I detected one error: ThinAir crash if I open two scripts.
huu, here I've tested up to 30 docs and no problem.
Can you please tell me exactly how do you open that documents? Maybe I'm always using the same method and not tested the way you do it.
ErosOlmi
28-09-2009, 10:28
Ok, I got it. I tested on another machine and I was able to replicate it.
I will check what's going on.
Thanks
Eros
Petr Schreiber
28-09-2009, 10:29
Hi Eros,
thanks for the new version!
I found 2 problems so far:
I cannot open more than one file (like Martin), I tried to open from Explorer window, using Open file icon and File/Open and all GPF
When I check "Create desktop icon" in installer, no icon is created
ErosOlmi
28-09-2009, 10:39
I cannot open more than one file (like Martin), I tried to open from Explorer window, using Open file icon and File/Open and all GPF
In my development machine and virtual machines I use to test thinBasic no GPF occurs while in standard machines yes.
Very strange. I'm checking why.
When I check "Create desktop icon" in installer, no icon is created
I think the installer is checking directories where to put icons only in English. I suppose you have your system in Czech language.
I think it is my mistake. I need to find the way to specify special folder in installer.
Thanks a lot
Eros
ErosOlmi
29-09-2009, 15:34
I think I've found the problem that cause GPF.
Soon an update.
ErosOlmi
29-09-2009, 18:54
Updated thinBasic beta 1.7.10.0. You can download it from the link in the first post of this thread (http://community.thinbasic.com/index.php?topic=2899.msg21972#msg21972).
I should have fixed GPF when opening more than one file.
Still to understand how to setup icons during setup if language is not English
Eros
Petr Schreiber
29-09-2009, 21:06
Thanks Eros,
fix worked!
ErosOlmi
30-09-2009, 07:27
Updated thinBasic beta 1.7.10.0. You can download it from the link in the first post of this thread (http://community.thinbasic.com/index.php?topic=2899.msg21972#msg21972).
Main changes:
thinAir: improved Open/Save default directory handling.
thinAir: improved copy/paste text from html pages.
Core module: fixed StrFormat$
Eros
Petr Schreiber
30-09-2009, 09:34
Thanks Eros,
new release works very nicely.
Only trouble, not caused by you, is again with NOD32 giving again false positives :roll:
ErosOlmi
30-09-2009, 09:38
Thanks Eros,
new release works very nicely.
Only trouble, not caused by you, is again with NOD32 giving again false positives :roll:
Did you check what file? Again Core?
Petr Schreiber
30-09-2009, 09:44
Problem is with:
- some tmp file created during installation
- and yes, again thinCore :(
Jordi Vallès
30-09-2009, 10:08
Good morning.
I also detected the problem with NOD32 installing thinCode.dll
ErosOlmi
30-09-2009, 13:18
Thanks a lot.
I will check again with ESET company about this problem.
They never replied to my inquiry.
ErosOlmi
30-09-2009, 23:20
Updated thinBasic beta 1.7.10.0. You can download it from the link in the first post of this thread (http://community.thinbasic.com/index.php?topic=2899.msg21972#msg21972).
I should have fixed NOD32 false positive.
All thinBasic EXEs and DLLs are now compressed with UPX version 3.04 just released (http://upx.sourceforge.net/).
thinCore.dll is now compressed with "--brute" option instead of "--ultra-brute". It will be few Kb bigger but this seems solving AV false positive.
Eros
Petr Schreiber
30-09-2009, 23:30
Thanks Eros,
NOD is silent now, no complaints.
ErosOlmi
30-09-2009, 23:45
NOD is silent now, no complaints.
:eusadance:
Jordi Vallès
01-10-2009, 01:47
Hi,
Last version installed without problems.
Jordi
ErosOlmi
01-10-2009, 07:34
Thanks Jordi.
Hope it will remain so also in future versions.
Hi Eros
i have installed the latest thinbasic version, when we open a tb file and run it, we will see a new BAK folder contains the tbasic file inside as in the picture
this is when we open the file from the ide
but not when we double click the file
ErosOlmi
01-10-2009, 12:25
It is an option you can setup in thinAir options (dialog is under construction): "Enable script backup"
That option always save a copy of your script under BAK directory just prior to execute the script.
Every copy is saved with a new counter.
It is like having a "time machine" of your script.
It can be useful but if you do not like it, un-check that option.
Ciao
Eros
PS: I will try to optimize it in next version in order to only create a copy if the script was changed and not just executed.
Hi Eros,
the editor loses the settings (fonts, line numbering, ecc.) between different session. I don't know if this problem is related to the beta stage of the editor.
Ciao
Sergio
ErosOlmi
02-10-2009, 16:44
Hi Sergio.
Yes, problems are related to beta phase.
I'm working on refactoring thinAir option dialog integrating editor features.
Ciao
Eros
ErosOlmi
03-11-2009, 23:03
Hi Tom and thanks for your report.
I'm not at my development computer at the moment and to be honest not big time to have a look right now at the problem you reported but tomorrow I will for sure check what is going on and why.
Beta 1.7.10 has introduced so many changes (hundreds of changes) so I may have missed something.
thinAir has changed a lot (thanks for your appreciation) and a lot will change again.
So, I will let you know asap.
Ciao
Eros
ErosOlmi
04-11-2009, 08:32
Updated thinBasic beta 1.7.10.0. You can download it from the link in the first post of this thread (http://community.thinbasic.com/index.php?topic=2899.msg21972#msg21972).
Main changes:
Oxygen module: updated to the latest available
TBGL module: updated to the latest available
TBAI module: new Michael Hartlef module TBAI is now part of thinBasic distribution
thinAir: improved F3 search
thinAir: changed MDI script are now marked with an "*" in tabbed MDI so programmer can quickly see what was changed
thinAir: more editor options are saved/restored in thinAir configuration INI file
thinAir: added quick code blocks in content right+click menu. right+click will have a new menu called "Insert code block ..." with dynamic submenus. Such items can be used to quickly add common blocks of code.
Code blocks are defined in the following files:
\thinbasic\thinAir\Syntax\thinBasic_Blocks.ini (official)
\thinbasic\thinAir\Syntax\thinBasic_Blocks_Usr.ini (user handled)
thinAir: started to work on codetips. Configuration is inside the following files:
\thinbasic\thinAir\Syntax\thinBasic_Codetips.ini (official)
\thinbasic\thinAir\Syntax\thinBasic_Codetips_Usr.ini (user handled)
It is possible to define codetips that will popup during code typing. Codetips can have from one to many lines of help each separated by | char (see inside mentioned files for examples). Codetips will popup when a keyword listed in files has been typed and followed by a space or a (
It is very experimental so expect many changes on this.
Obfuscation: removed version limitation in obfuscated scripts. Since previous thinBasic version, an obfuscated script was compatible only with a thinBasic engine having the same version of thinBasic used to obfuscate it. Now this limitation has been removed and script obfuscated with thinBasic version 1.7.10.x will be compatible with future thinBasic versions (unless security reasons will oblige us to change obfuscation methods)
Eros
Petr Schreiber
04-11-2009, 08:57
Thank you Eros :excited:
TBGL module has one important change since latest beta - the limit of number of display lists has been completely removed.
So now, you have guaranteed 1024 display list without extra work, but you can request any number of new display list, more convenientely associated with array. It is similar to classic glGenLists, except it is fully garbage collected.
Little example from the help file:
' -- Create array to retrieve values to
DIM listPlanets(9) AS LONG
' -- Starting from index 1, fill the whole array with
' -- unique new ids of display list slots
TBGL_NewListSpace(listPlanets(1))
' -- Create array to hold starships
DIM StarShips(10) AS LONG
' -- Create slots for 5 good ships (index 1..5)
TBGL_NewListSpace(StarShips(1), 5)
' -- Create slots for 5 bad ships (index 6..10)
TBGL_NewListSpace(StarShips(6), 5)
...
' -- To define 9th planet, you do it as normally
TBGL_NewList listPlanets(9)
...
TBGL_EndList
' -- To draw 9th planet, you do it as normally too
TBGL_CallList listPlanets(9)
' -- You can also kill groups of lists in one go
TBGL_DeleteListSpace (listPlanets(1), 9) ' -- All 9, starting from first
Hope you will like this enhacement. The garbage collection goes that far, that when you call TBGL_NewListSpace to array already filled with IDs from previous TBGL_NewListSpace call, the deallocation of the old ones is automatic and you do not have to explicitly use TBGL_DeleteListsSpace.
TBGL_DeleteListsSpace is fully optional, when you do not want to use it, you don't have to.
Petr
ErosOlmi
04-11-2009, 10:51
In previous post I forgot to mention about a change in Obfuscation: I've removed version limitation in obfuscated scripts.
Since previous thinBasic version, an obfuscated script was compatible only with a thinBasic engine having the same version of thinBasic used to obfuscate it. Now this limitation has been removed and script obfuscated with thinBasic version 1.7.10.x will be compatible with future thinBasic versions (unless security reasons will oblige us to change obfuscation methods)
Petr Schreiber
04-11-2009, 11:03
If you need codetips for TBGL,
just download attached file, and paste its contents to thinAir/Syntax/thinBasic_Codetips_Usr.ini
From first tests it works well!
ErosOlmi
04-11-2009, 11:11
Petr, great!
I will add into official one.
Michael Hartlef
04-11-2009, 18:27
All tghis sound great. Can't wait till I can try it. Thanks for all the hard work you guys did.
ErosOlmi
09-11-2009, 18:21
Updated thinBasic beta 1.7.10.0.
In this case I've created a new preview download because new CodeTip window cannot be nice for all so I will leave the option to install or not.
You can download new preview from the following url: http://www.thinbasic.biz/projects/thinbasic/thinBasic_1.7.10.0_Preview.zip
If you do not like new CodeTip for some reasons you can still download previous version from url in first post of this thread.
Main changes in this preview:
thinAir: CodeTip window updated. I'm not really satisfied but I'm working on it. Now CodeTip is a separated window containing an owner drawn listbox that adjust its size at runtime. I have to work both on the CodeList and on the window that contains it. At this point I suppose we can use a richedit or textboxes to show keyword info.
Also format of CodeTip file content has changed using Petr suggestion (tags). CodeTip file has been generated by Petr script (http://community.thinbasic.com/index.php?topic=2963.msg22551#msg22551). It is a great help fo setting up new CodeTip window but because file was generated by script it contains a lot of problems that will be hand tuned in future releases.
thinAir: now it saves "Bound caret to text" editor option parameter
thinAir: backup files limited to 99 backup files per script. If you reach that limit, a warning will be emitted. I've the feeling that on this we have to find a new road.
Oxygen module: updated to the latest available
TBGL module: updated to the latest available
Fixed Tokenizer module
Added new ListView functions: http://community.thinbasic.com/index.php?topic=2961.msg22548#msg22548
Eros
Petr Schreiber
09-11-2009, 22:41
Thank you Eros!
The new version of codeTip is very good, looks so much more cleaner! Just few things you might already know:
- when the codeTip is wider then screen, the right part gets lost. I attached the screen
- when codeTip is active, and you alt-tab from ThinAIR, it is still in foreground
- sometimes the size of code tip is too little (second image illustrates tip of tbgl_vertex)
Thanks,
Petr
Michael Clease
09-11-2009, 23:47
Eros have disabled the options menu?
also if you type
control add
the code tip shows "button" info
Petr Schreiber
12-11-2009, 12:08
Michael,
I can confirm I cannot bring up the options using menu, but on toolbar it seems to work.
ErosOlmi
18-11-2009, 09:13
Updated thinBasic beta 1.7.10.0.
You can download it from the link in the first post of this thread (http://community.thinbasic.com/index.php?topic=2899.msg21972#msg21972).
Main changes:
Oxygen module: updated to the latest available
TBGL module: updated to the latest available
thinAir: I'm not satisfied at all with CodeTips so I set it optional and deactivated. If you want to activate, you need to do it by manual in thinAir.ini file. After running thinAir once, you will get a new CodeTips section in ini file. Set Active to 1 to activate. I will work more on CodeTips.
thinAir: added MDI window switching (CTRL + TAB, CTRL + SHIFT + TAB)
thinAir: reconfigured some menus as requested
thinCore: added function and sub pointers. You can now use Function_CodePtr to return a function or sub pointer and use it in CALL statement. See Function_GetPtr help for an example on how to use it
thinCore: added some data type alias for better source code understanding and code porting: Int16 (Integer), UInt16 (Word), Int32 (Long), UInt32 (DWord), Int64 (Quad), Float32 (Single), Float64 (Double), FLoat80 (Ext). You can now declare a variable in the following way:
DIM MyLong AS Int32
DIM MyQuad AS Int64
DIM MyExt as Flat80
thinCore: possibly solved random GPF in UDT usage. There was an error in creating UDT elements hash table. Instead of using prime number to size internal hash table I was using a prime number multiplied by the number of elements, so it was not a prime number at all.
thinDebug: it now store last window size and splitter bar position
thinDebug: improved variable inspection stability
Eros
Petr Schreiber
18-11-2009, 10:54
Eros,
thank you very much for this release!
It solved lot of problems, and added features are very cool!
There are still few problems with debugging and UDT inspection, but I will list it in separate threads.
ErosOlmi
18-11-2009, 11:09
:oops: I made a dummy mistake: I added alias Float16 and Float32 instead of Float32 and Float64
I will repost a new ZIP as in few hours.
Sorry
Petr Schreiber
18-11-2009, 11:20
No problem,
the rest of new aliases seems to have correct sizes.
Could you please add "Int" alias for "Long" and "UInt" for "Dword"?
Thanks,
Petr
ErosOlmi
18-11-2009, 11:29
No problem,
the rest of new aliases seems to have correct sizes.
Could you please add "Int" alias for "Long" and "UInt" for "Dword"?
Thanks,
Petr
I'm sorry not because INT is an already used keyword command.
How can we solve this?
Petr Schreiber
18-11-2009, 12:30
Arrr, I forgot :)
As I was thinking to make Int and UInt thinBASIC platform dependant (32bit on 32bit ThinBASIC, 64bit on 64bit ThinBASIC in far future), maybe it could be: PlatformInt, PlatformUInt
That would be cleaner, but also too long.
First which occured to me was
OSInt, OSUInt
but that would not be true for 32bit thinBASIC on 64bit OS.
So maybe
tbInt, tbUInt
But maybe it is little obscure.
Petr
ErosOlmi
18-11-2009, 13:49
Updated again thinBasic beta 1.7.10.0 due to error in Float16/Float32 (see previous post).
You can download it from the link in the first post of this thread (http://community.thinbasic.com/index.php?topic=2899.msg21972#msg21972).
ErosOlmi
21-11-2009, 12:47
Updated thinBasic beta 1.7.10.0.
You can download it from the link in the first post of this thread (http://community.thinbasic.com/index.php?topic=2899.msg21972#msg21972).
Main changes:
TImage: added new module able to load images in different formats: BMP, ICO, JPG, TGA, PNG and TIFF
Module functions are fully documented. Check basic example in \SampleScripts\TImage\
Module is also able to return row data bits pointer (for direct image access) and BITMAP UDT access.
thinDebug: fixed many errors recently reported on variable inspection. Hope now it is more stable and precise
thinAir: fixed video refresh when moving explorer bar left/right
thinCore: fixed UDT inheritance
thinBasic setup: thinBasic setup is now built using latest InnoSetup version available so far
Eros
Petr Schreiber
21-11-2009, 15:17
Thanks Eros!
Variable inspection and inheritance works good and refresh problem is gone :)
TImage is very important addition, thanks for it!
The tutorial is sadly not launched here, does it work for others? I will try to do complete uninstall/reinstall when I'll have bit more time.
There are few minor issues, but I will make separate posts so it can be tracked more easily.
Petr Schreiber
21-11-2009, 16:32
Tried to install on brothers PC - same problem with Tutorial not showing (after install, but the script works).
How do you launch it from InnoScript Eros? I will try to google around it.
I have Windows XP SP2 + all updates before SP3 and brother Windows XP SP3 + some updates.
ErosOlmi
21-11-2009, 16:44
I just tell InnoSetup to execute a post task.
In all my installations it always works: Win98 to WinME to Win2K to WinXP, Vista.
Do you use a particular directory where to install thinBasic?
Maybe something in the path is disturbing InnoSetup process.
Petr Schreiber
21-11-2009, 16:46
I use:
C:\util\ThinBASIC, brother E:\util\thinBASIC
Michael Hartlef
21-11-2009, 17:21
Hi Eros,
just installed the latest beta. I always install it under C:\programme\thinbasic
This time I unchecked Run tutorial AND create desktop icon. The tutorial script ran after the installation AND the icon on the desktop was created.
Michael
ErosOlmi
21-11-2009, 20:44
Thanks. Definitely a problem of my InnoSetup script.
I will check again the script.
ErosOlmi
22-11-2009, 01:10
I hope you will not kill me with all those continuous updates but ... here again another one.
Updated thinBasic beta 1.7.10.0.
You can download it from the link in the first post of this thread (http://community.thinbasic.com/index.php?topic=2899.msg21972#msg21972).
Main changes:
thinCore: fixed alternative variable dimensioning
thinAir: improved pasting code from html pages
thinAir: fixed TImage module keywords not highlighted in editor
thinBasic setup: fixed optional installation flags (run tutorial and thinAir icons)
TBGL: module updated to the latest available so far on SVN server
Eros
Michael Hartlef
22-11-2009, 09:50
No problem Eros,
and a big :eusaclap: for doing this. If someone doesn't need
some things, hey can always skip a version.
I love the way you do updates.
Michael
Edit: When I uncheck now Run tutorial und Create Desktop icon, they both don't appear anymore.
Petr Schreiber
22-11-2009, 10:58
Thanks Eros,
keep them coming. I am ready to test every day, I like it :occasion:
The Tutorial was correctly launched after installation, good job!
The only problem with latest additions is still with the CHM help, I will post it in separate thread.
ErosOlmi
26-11-2009, 08:51
Updated thinBasic beta 1.7.10.0.
You can download it from the link in the first post of this thread (http://community.thinbasic.com/index.php?topic=2899.msg21972#msg21972).
Main changes:
thinAir: possibly fixed paste code code from HTML sources
thinAir: F1 should now open contest help not in modal window
thinTutorial: added the latest available so far (thanks to Mark Lee)
UI: started to work on alternative syntax in order to keep previous syntax plus a new set of single keywords.
See Dialog_New keyword in help that share the same parsing code as DIALOG NEW ...
TBGL: module updated to the latest available so far on SVN server
Oxygen: module updated to the latest available so far on SVN server
Eros
Petr Schreiber
26-11-2009, 10:52
Thanks for the new release Eros,
I recommend it also for people which need stable TBGL, as two issues have been fixed:
GPF of TBGL in case it was specified in USES but not used
False positives on "Could not find texture/model"
Dialog_New works well, just the description in help file should be instead of:
hwnd = Dialog_New([PIXELS, | UNITS,] hwParent, Title, xPos, yPos, Width, Height [, [Style] [, [ExtendedStyle]]] )
this:
hwnd = Dialog_New([PIXELS | UNITS,] hwParent, Title, xPos, yPos, Width, Height [, [Style] [, [ExtendedStyle]]] )
Thanks,
Petr
ErosOlmi
27-11-2009, 09:15
Updated thinBasic beta 1.7.10.0.
You can download it from the link in the first post of this thread (http://community.thinbasic.com/index.php?topic=2899.msg21972#msg21972).
Changes:
thinCore: fixed GPF on Core engine memory releasing at the end of script execution
thinTutorial: added the latest available so far (thanks to Mark Lee)
Eros
Petr Schreiber
27-11-2009, 09:49
Thanks Eros,
I just noticed very nice Help/About dialog!
catventure
27-11-2009, 10:52
I just noticed very nice Help/About dialog!
Me too! Thanks very much for latest update and all your hard work with the fixes etc... and not forgetting the new image module. :)
Regards,
catventure.
ErosOlmi
27-11-2009, 12:15
I just noticed very nice Help/About dialog!
You asked it, I did it ;)
ErosOlmi
27-11-2009, 12:18
... and not forgetting the new image module. :)
I was exactly thinking to you (and TBGL) when I decided to add TImage module.
ErosOlmi
28-11-2009, 15:01
Updated thinBasic beta 1.7.10.0.
You can download it from the link in the first post of this thread (http://community.thinbasic.com/index.php?topic=2899.msg21972#msg21972).
Changes:
thinCore: fixed WHILE clause in FOR statement
thinCore: Petr Schreiber has requested to add the possibility to pass parameters data to external functions in BYVAL mode.
I'm happy to say it is now possible to use BYVAL (or BYCOPY) in passing numeric parameters to external functions when a BYREF parameter is expected.
Using BYVAL (or BYCOPY) programmer will instruct thinBasic to:
create a temporary numeric variable
evaluate a numeric expression and assign its value to temporary variable
pass the pointer of the temporary variable to the external function
When a procedure expects a parameter to be passed by reference, it expects to see a pointer to the data. In some cases, such as when the parameter is a calculated expression, it is not precisely possible to pass a pointer, since an expression result is a temporary value that does not exist in a permanent memory location. On the other hand, if you wish to ensure that the original data is not modified by the procedure, you can place a BYCOPY override in the arguments list.
In both cases, a copy of the data is stored in a temporary memory location, and the parameter consists of a 4-byte address of this temporary location.
I think this is an important addition for programmers in needs to used 3rd party library.
thinCore: al virtual key-scan codes equates (%VK_* like %VK_A, %VK_PGDN, ...) have been moved from UI module to Core module so they will be available to all modules.
Eros
ErosOlmi
29-11-2009, 10:57
Updated thinBasic beta 1.7.10.0.
You can download it from the link in the first post of this thread (http://community.thinbasic.com/index.php?topic=2899.msg21972#msg21972).
Changes:
thinCore: fixed BYVAL functionality added in previous update.
BYVAL will be used to compute the address of a pointer and passed to external function when a BYREF parameter is expected.
BYCOPY will be used instead to create a temporary variable whose pointer will be passed to external function when a BYREF parameter is expected.
Eros
Petr Schreiber
29-11-2009, 11:24
Thank you very much Eros,
this step made availability of GPU computing tool - OpenCL (http://community.thinbasic.com/index.php?topic=3033.msg22939#msg22939) possible in thinBASIC :)
Thank you very much Eros,
this step made availability of GPU computing tool - OpenCL (http://community.thinbasic.com/index.php?topic=3033.msg22939#msg22939) possible in thinBASIC :)
The team here is the best. You guys really do rock!! Thanks.
ErosOlmi
01-12-2009, 08:39
Updated thinBasic beta 1.7.10.0.
You can download it from the link in the first post of this thread (http://community.thinbasic.com/index.php?topic=2899.msg21972#msg21972).
Main Changes:
thinCore: added BYVAL and BYCOPY to string (all types) and UDT parameters in external functions when a BYREF parameter is expected.
thinCore: improved PEEK$(ASCIIZ, Addr [, Count]) Now Count param is options. thinBasic will stop peeking bytes when the first null byte will be encountered
Crypto: removed debug messagebox
thinAir: added bookmarks.
CTRL+F2 to switch line bookmark. F2 to go to next bookmark, SHIFT+F2 to go to previous bookmark. Also added bookmarks in context right menu
Eros
ErosOlmi
13-12-2009, 20:21
Updated thinBasic beta 1.7.10.0.
You can download it from the link in the first post of this thread (http://community.thinbasic.com/index.php?topic=2899.msg21972#msg21972).
Main Changes:
TBGL module: updated to the latest available in thinBasic SVN server.
Oxygen module: updated to the latest available in thinBasic SVN server.
thinCore: SIZEOF can now be used with arrays elements and/or UDT elements
thinCore: fixed nested arrays usage in elements calculation
UI module: added possibility to remove gradient background DIALOG SET GRADIENT hwnd, %GRADIENT_FILL_None
UI module: added Canvas_BitmapGet
UI module: added Canvas_BitmapSet
Eros
Petr Schreiber
14-12-2009, 00:36
Thanks Eros,
very much appreciated :occasion:
This preview contains update on materials (http://community.thinbasic.com/index.php?topic=3079.msg23204#msg23204) in TBGL.
The Canvas_BitmapGet and Canvas_BitmapSet are very simple, but handy functions for work with UI Canvas.
They allow to extract BGR 32bit aligned sequence from the canvas control and return width/height to passed variables, change it and update back.
This is good for memory overlay constructs such as:
s = Canvas_BitmapGet(w, h)
Dim Bits(w, h) As BGRA At STRPTR(s)
Dim x, y As Long
For x = 1 To w
For y = 1 To h
' -- Process pixel here
Next
Next
Canvas_BitmapSet(s, w, h)
... and it also makes it easy to get chunk of data you can pass to Oxygen for superfast processing.
ErosOlmi
14-12-2009, 01:40
The Canvas_BitmapGet and Canvas_BitmapSet are very simple, but handy functions for work with UI Canvas.
They allow to extract BGR 32bit aligned sequence from the canvas control and return width/height to passed variables, change it and update back.
This is good for memory overlay constructs such as:
s = Canvas_BitmapGet(w, h)
Dim Bits(w, h) As BGRA At STRPTR(s)
Dim x, y As Long
For x = 1 To w
For y = 1 To h
' -- Process pixel here
Next
Next
Canvas_BitmapSet(s, w, h)
An example (from Petr) is included in \thinBasic\SampleScripts\UI\Canvas\
ErosOlmi
23-12-2009, 08:29
Updated thinBasic beta 1.7.10.0.
You can download it from the link in the first post of this thread (http://community.thinbasic.com/index.php?topic=2899.msg21972#msg21972).
Sorry, not much changes but I wanted to align TBGL and Oxygen modules, so:
TBGL module: updated to the latest available in thinBasic SVN server.
Oxygen module: updated to the latest available in thinBasic SVN server.
OnlineScores module: fixed upload scores page.
Eros
Michael Hartlef
23-12-2009, 11:23
Hi Eros,
thanks for the update. When did you picked TBGL up?
Cheers
Michael
ErosOlmi
23-12-2009, 11:48
When did you picked TBGL up?
Yesterday night between 21:00/22:00 (CET) if I remember well.
If there are other updates you would like to have in beta release, just let me know and I will do.
In general, every time I update thinBasic Beta, I check SVN server.
Ciao
Eros
ErosOlmi
31-12-2009, 16:05
Updated thinBasic beta 1.7.10.0.
You can download it from the link in the first post of this thread (http://community.thinbasic.com/index.php?topic=2899.msg21972#msg21972).
Last update for 2009. Hope to have final version ready by end of Jan :
TBGL module: updated to the latest available in thinBasic SVN server.
Oxygen module: updated to the latest available in thinBasic SVN server.
thinAir: is now internally programmed almost in new PowerBasic 9 OOP. Still a lot of code to convert but the new internal code organization should simplify future developments.
thinAir: removed "old style" combobox (used to list source code functions) from main toolbar. No more necessary
thinAir: fixed code browser navigation
thinAir: code browser data is updated when source code is saved or a new source code is loaded.
If source code is changed, code browser will reflect changes only after source file is saved. I'm working to see if this can be avoided with an inline (while typing) update
thinAir: code browser can now scan source code for: subs, functions, includes, UDTs and special comments.
Important: special comments are comments starting with the following 3 chars: '@:
Example: '@: This is a comment reported in code browser
Example: '@: To Do List
Hope all is working as expected or at least close to what is expected :lol:
Happy new year
Eros
Michael Hartlef
31-12-2009, 17:33
Thanks man, I'll test it soon!
ErosOlmi
17-01-2010, 19:31
Updated thinBasic beta 1.7.10.0.
You can download it from the link in the first post of this thread (http://community.thinbasic.com/index.php?topic=2899.msg21972#msg21972).
This update is mainly focused on thinAir (thinBasic editor) improvements.
We have completely changed the way editor options were implemented. Internal code has been completely rewritten.
thinAir: new option dialog. All thinAir features have been grouped in the new dialog. Many of the options you can choose from there will be applied on the fly while you change them. Th rest will be applied when you press OK button but you will never had to restart the editor
thinAir: improved right click menu with a set of new options
thinAir, Code Browser: Code Browser colors can now be adjusted
thinAir, Code Browser: completely recoded the way source code is parsed
thinAir, Code Browser: now possible to indicate different kind of notes with a new simple syntax we hope you will like it. Every kind of note will have its own icon to better identify them
thinAir, Code Browser: all changes will be reflected in Code Browser when source code is saved. We are working to have this on the fly
Eros
Petr Schreiber
17-01-2010, 20:02
I would only add, that:
You can double click in CodeBrowser on include file to open it
Ctrl-D is back to duplicate line(s) for you
Dedicated Begin ControlID / End ControlID block for safe declaration of dialog control equates
Highly recommended download!
Thanks Eros.
Looking forward to giving it a try.
Don :D
Eros:
I am unable to change the font size in thinair under the OPTIONS menu for the editor window.
Clicking on the font option has no effect.
I am trying this on a WINDOWS 7 (64bit) OS.
Don
ErosOlmi
18-01-2010, 00:01
Hi Don, thanks for reporting.
I have tested thinAir under Windows 7 32bit and there are no problems opening the Font Dialog window and change font.
At the moment I cannot test under 64bit OS but my wife has a laptop with Windows 7 64bit so I will be able to test it but only tomorrow evening.
Can you be so kind to specify what exactly happen?
Can you see a little push button right to the font name?
If you click it what happen? Application just stops working or what?
Thanks a lot
Eros
Petr Schreiber
18-01-2010, 00:19
Hi Don,
at which step from the following image it fails?
catventure
18-01-2010, 10:41
Font Selecter worked good for me on Vista 32
Thanks for continuing improves in this release.
Regards,
catventure.
ErosOlmi
18-01-2010, 11:29
Tested under Windows XP64bit and all is OK.
This night I will have the opportunity to test latest thinAir under Windows 7 64bit and see what is happening.
Ciao
Eros
Eros & Petr:
The error was mine, not thinAir's.
After looking at Petr's images, I realized that I was clicking in the wrong place on the menu. I was clicking on the RIGHT side of the FONT SIZE area not the RIGHT side of the FONT FACE area.
Thanks for you'r help.
Don
Petr Schreiber
18-01-2010, 14:54
Good to hear,
thanks Don!
ErosOlmi
18-01-2010, 16:13
Great.
Maybe I can change the area where it is possible to click.
Michael Hartlef
18-01-2010, 18:05
Hi Eros,
great job on the improved CodeBrowser. I love espercially that you can double click on the include entry and it will open the include file for you. Just like I had it in IndeED.
It crashed one time after I closed the include file again, but I could not reproduce this behaviour so far.
Some questions:
1) How do the special notes have to be typed in. The sample from a former post in this topic shows no result here.
2) Is there a way to change the path to thinBasic in the options?
Michael
ErosOlmi
18-01-2010, 18:14
1) Special notes can be automatically inserted using right click menu. You will find there all possible notes.
If you want to insert manually here the code:
'[] <enter your annotation here>
'[!] <pay attention note: important>
'[o] <this part needs to be optimized>
'[t] <this part needs to be tested>
'[todo] <Something to do here>
2) thinBasic path is determined automatically by thinAir but yes, I can add the possibility to change in case someone wants to have thinBasic engine installed in a different place. Maybe I can add a button to "auto determine" or manual inserting.
Actually if you want to change it you need to manually amend thinAir.ini file
Michael Hartlef
18-01-2010, 18:17
Thanks for the info about the comments. Didn't saw the Right click menu entries. :oops:
I copy my thinbasic installation on a memory stick and changed the path always from inside the options. Changing them inside the ini file is good too.
ErosOlmi
18-01-2010, 18:26
Right click "Insert code block" sub-menu is built dynamically using the following files:
"\thinBasic\thinAir\Syntax\thinBasic_Blocks.ini"
"\thinBasic\thinAir\Syntax\thinBasic_Blocks_Usr.ini"
File "\thinBasic\thinAir\Syntax\thinBasic_Blocks.ini" is substituted at every thinBasic update so do not change.
File "\thinBasic\thinAir\Syntax\thinBasic_Blocks_Usr.ini" is a user file only created during installation if it doesn't exists so you can add your own code blocks. Just follow the syntax.
If you have some interesting blocks let me know and I will add to official ones.
Ciao
Eros
ErosOlmi
18-01-2010, 18:38
... you can double click on the include entry and it will open the include file for you. Just like I had it in IndeED.
It crashed one time after I closed the include file again, but I could not reproduce this behaviour so far.
I will open a bug request because I also experience it once so there must be an uncovered situation somewhere.
Thanks for reporting.
Eros
ErosOlmi
18-01-2010, 18:52
Thanks for continuing improves in this release.
Be sure I will continue ;)
Ciao
Eros
Michael Hartlef
18-01-2010, 19:45
... you can double click on the include entry and it will open the include file for you. Just like I had it in IndeED.
It crashed one time after I closed the include file again, but I could not reproduce this behaviour so far.
I will open a bug request because I also experience it once so there must be an uncovered situation somewhere.
Thanks for reporting.
Eros
Niw I'm glad that I mentioned it as I thought it had to do with the quircky work machine I have there.
ErosOlmi
30-01-2010, 15:42
Ok, what I've done so far I've done.
I'm recompiling the full project and new beta will be released in few hours.
That I will restart a new cycle of bug fix/features improvements.
ErosOlmi
30-01-2010, 19:56
Updated thinBasic beta 1.7.10.0.
You can download it from the link in the first post of this thread (http://community.thinbasic.com/index.php?topic=2899.msg21972#msg21972).
List of main changes:
thinAir: new toolbar. Now thinAir uses Rebar controls. This will allow more easy handling of icons in future changes
thinAir: user help files are now loaded automatically on thinAir loading. Just put a .CHM file into \thinBasic\Help\ directory and thinAir will load them at next startup
thinAir: fixed some icons and tooltips
thinAir: added print preview window as in the past
thinAir, Code Browser: fixed a repaint problem
thinDebug: fixed a repaint problem in highlighted line
thinCore: fixed a bug in array assignment when used with multiple values
thinCore: added more error checking when defining constant equates. Constant equates can now be redefined (defined more than once) but if new definition will try to assign a value different from current one a runtime error will be generated
thinCore: fixed Function_Name not correctly handled when used in function passing parameter expressions
thinCore: fixed #SCRIPTVERSION not reporting correct values when used inside obfuscated scripts
#SCRIPTVERSION directive has been deprecated in favor of new thinBasic function APP_SetScriptVersion (which I forget to document in help but have the following syntax: sVer = APP_SetScriptVersion (Major, Minor, Revision, Build)
File module: fixed FILE_Append. It was adding an additional $CRLF at the end of the buffer
UI module: fixed RTF_AppendText. It was not correctly handling "[" char when used as standard char
TBGL module: updated to the latest available
Oxygen module: updated to the latest available
Regards
Eros
Petr Schreiber
30-01-2010, 20:32
Whoa,
that's what I call facelift! Very nice Eros! :shock:
I attach image, demonstrating both new face lift, and my custom highlighting color setup which seems to have good effect on eyes (if you don't like it, don't worry, thinAir uses by default the classic white background layout)
Petr
Michael Hartlef
30-01-2010, 20:35
Nice one! Thanks man!
ErosOlmi
31-01-2010, 16:07
Updated thinBasic beta 1.7.10.0.
You can download it from the link in the first post of this thread (http://community.thinbasic.com/index.php?topic=2899.msg21972#msg21972).
List of main changes:
thinAir: fixed buffer change flag in tab control when creating a new script
thinAir: fixed clearing of recent files
thinAir: fixed another Code Browser refresh problem
UI module: improved FONT_Create
Oxygen module: updated to the latest available
There are other last minute minor changes too little to mention.
Regards
Eros
ErosOlmi
01-02-2010, 00:11
Updated thinBasic beta 1.7.10.0.
You can download it from the link in the first post of this thread (http://community.thinbasic.com/index.php?topic=2899.msg21972#msg21972).
For those wanting the latest single bit updated ...
Petr noted a little problem in JOIN$ when used with fixed strings array elements: JOIN$ was just 10x times (just :oops:) slower than an equivalent function developed directly in thinBasic. Well, the problem was that I was making continuous string concatenations of strings and delimiters. Now JOIN$ pre allocate a string able to store final buffer and data is inserted using pointers. Final result: up to 100x times faster than my original function depending on how many strings must be joined. I tested with up to 100000 string and it takes just few milliseconds.
Uses "Console"
%items = 100000
%blockSize= 5
$character= ","
Dim ImageData(%items) As String * %blockSize
Dim t1, t2 As Long
Dim sA As String
'---Add here some code to fill the array elements
'---In any case every single element is already filled with spaces
PrintL "Using join$ to join " & %Items & " items of " & %blockSize & " bytes each ..."
t1 = GetTickCount
sA = Join$(ImageData, $character)
t2 = GetTickCount
PrintL "Time: ", Str$(t2-t1) & " millisecs"
PrintL "Buffer size: " & Len(sA) & " byes"
PrintL "--- Press a key to continue ---"
WaitKey
Output:
Using join$ to join 100000 items of 5 bytes each ...
Time: 47 millisecs
Buffer size: 599999 byes
--- Press a key to continue ---
Regards
Eros
Eros, thanks for the updates. Got a quick question...
Why don't you increase the version number with the updates. Like for instance 1.7.10.1, then 1.7.10.2.
I see the first post with 1.7.10.0 and that is the version I have, but then if I read the posts, I see there has been updates that the version
number doesn't reflect. With x.x.x.x numbering you have accommodation for lots of numbers and don't have to worry about running out :)
Anyways, thanks again!
ErosOlmi
01-02-2010, 07:15
Hi kent.
Increasing the build number would oblige me to continuously change version number in help file. That's the main reason why I do not increase it.
I'm developing thinBasic beta so every update is released with the same version.
In any case, I understand I'm creating confusion for those that do not follow this development phase on a daily basis so I need to think and do something about that.
I think the solution is to change the help file and use just major, minor version number (x.y.z.w) and never mention revision and build (x.y.z.w). Than use revision and/or release updates for every new beta update.
Eros
That sounds like a good solution Eros.