View Full Version : thinBasic Beta 1.8.2.x
ErosOlmi
20-06-2010, 13:20
thinBasic Beta 1.8.2
Download from: http://www.thinbasic.biz/projects/thinbasic/thinBasic_1.8.2.0.zip
Some bugs fixed from previous beta 1.8.1.0 and few more features
thinCore: fixed some parsing errors in arrays/matrix passing to external functions
thinCore: added a set of pre-parsing directive on bundling.
See #BUNDLE ... in help. You can now pass bundle name, additional files and options directly from script to bundle dialog in order to set once and for all bundle options by script
Math module: fixed parsing parens errors in MAT and DET
OS module: functions used to determine OS version will now correctly detect Windows 7 and Windows 2008 Server
UI: added again few Canvas functionality like in 1.8.1: Canvas_Waitkey
Oxygen module: updated to the latest available on SVN server (examples included)
TBGL module: updated to the latest available on SVN server
SDK: updated PB SDK adding latest thinCore.inc
... see thinBasic help for complete and detailed list of changes.
More updates in next few weeks
Regards
Eros
ErosOlmi
20-06-2010, 14:21
Example of new #BUNDLE pre-parsing directive usage:
Uses "Console"
#BUNDLE File "test01.txt", ".\test01.mdb"
#BUNDLE File Once "test02.txt", ".\test02.mdb"
#BUNDLE Name "MyBundleExeName"
#BUNDLE Option "ObfuscateMainScript", On
#BUNDLE Option "CompressAllFiles" , Off
#BUNDLE Option "AskBeforeExtract" , Off
#BUNDLE Option "DeleteAfterRun" , On
#BUNDLE Option "ActivateVerboseMode", Off
#BUNDLE Option "ActivateIsolation" , On
PrintL "OK"
WaitKey
When Bundle command is executed, thinBasic will detect #BUNDLE directive and will pass info to bundle process via file whose name is the same name as the script plus .SDEP extension.
catventure
20-06-2010, 15:38
Hi Eros,
I just used bundle (toolbar icon) on a script loaded into the IDE on 1.8.1.x to update my TAB program right before I saw this new release... so the following message box anomaly might be already fixed in latest version (will have to check)
Just to let you know that a Powerbasic messagebox appeared with "STOP" inside of it.
When I clicked OK the bundle dialog appeared normally and I was able to bundle my script no problems at all.
Here is picture:
ErosOlmi
20-06-2010, 15:44
Sorry, I do not understand: does the STOP messagebox appear in 1.8.2?
It should not happen in 1.8.2
Can you confirm?
Thanks
Eros
catventure
20-06-2010, 15:47
Sorry, I do not understand: does the STOP messagebox appear in 1.8.2?
It should not happen in 1.8.2
Can you confirm?
Thanks
Eros
Confirmed Eros! Just installed it now... All Ok in latest version.
Thanks for update.
Regards,
catventure.
ErosOlmi
20-06-2010, 15:49
Great. Thanks
catventure
20-06-2010, 16:32
Hi Eros,
My script bundled successfully in latest thinBasic1.8.2.0.
I noticed it creates an .SDEP txt file into the script source directory now which might be useful... Is that supposed to happen?
Cheers,
catventure.
ErosOlmi
20-06-2010, 16:39
Yes, it is supposed to happen but I will remove or will set an option in thinAir.
What happen when your ask thinAir to bundle a script is that thinAir execute your script with a special flag that instruct thinBasic to analyze the script and create a depenadancy file, that's it .SDEP.
.SDEP file contains all the info needed by bundle process to create the bundled exe.
.SDEP file is a normal text file with a structure like an INI file
You can open it and see what's inside
.SDEP is used to pass new supported #BUNDLE ... script option from script to bundle process.
Example of .SDEP content:
[Info]
Description=Dependancy file for thinBundle automatic dependancy discover
ScriptFile=C:\thinBasic\SampleScripts\General\Bundle\Bundle_Test.tbasic
DateTime=06-20-2010 14:17:25
Name=MyBundleExeName
ObfuscateMainScript= 1
CompressAllFiles= 0
AskBeforeExtract= 0
DeleteAfterRun= 1
ActivateVerboseMode= 0
ActivateIsolation= 1
[Modules]
1=C:\thinBasic\Lib\thinBasic_Console\thinBasic_Console.DLL
Items=1
[Includes]
Items=0
[Files]
1=C:\thinBasic\SampleScripts\General\Bundle\test01.txt
2=C:\thinBasic\SampleScripts\General\Bundle\test01.mdb
3=C:\thinBasic\SampleScripts\General\Bundle\test02.txt
4=C:\thinBasic\SampleScripts\General\Bundle\test02.mdb
Items=4
Ciao
Eros
catventure
20-06-2010, 16:44
Very good idea.
Lets you see everything that happened in the bundling process in case you need to check. :P
catventure.
Petr Schreiber
20-06-2010, 20:55
Thanks Eros!
Michael Clease
21-06-2010, 00:08
Thanks Eros.
I have one issue with #BUNDLE Name "MyBundleExeName" it treats any text after the keywords as the name so if I want to build a filename from version numbers and script name it wont let me.
DIM Version as STRING
Version = "Diagnostics V"&APP_SetScriptVersion (2, 2010, 0620, 01)
#BUNDLE Name Version
when bundled creates a file called version.exe
Plus extraction path would be nice also :yes:
Regards
Mike
ErosOlmi
21-06-2010, 07:22
#BUNDLE is a pre-parsing directive. It means no interpretation is taking place when #BUNDLE is considered.
At pre-parsing stage "version" is just a token, a sequence of bytes and not a variable.
Only quoted strings are admitted.
Michael Clease
21-06-2010, 09:41
OK thanks for explaining.
Big thanks for the update works very well.
Mike
ErosOlmi
21-06-2010, 10:10
In any case I'm considering what you asked.
I thought to add such features when I will develop the "Project" functionality in thinAir.
For example it will be more easy to manage, for example, auto-increment of bundle build or passing data to bundle process.
So the levels of priorities could be:
if bundle data will be present in project they will be used otherwise ...
if no project, bundle data can be taken from scrip. Otherwise ...
if no script info, bundle data will be taken from thinAir defaults
Something for next releases.
Ciao
Eros