View Full Version : [Beta] ThinBASIC 1.9.14.0
ErosOlmi
15-10-2014, 22:17
ThinBASIC Beta 1.9.14.0
Download from: http://www.thinbasic.biz/projects/thinbasic/thinBasic_1.9.14.0.zip
This Beta Version added new modules:
ADODB
Excel automation
Still no time to document them but you can check examples into \thinBasic\SampleScripts\ADODB\ and \thinBasic\SampleScripts\Excel\
Plus:
some fixes and new functionalities
latest Oxygen module
latest TBGL module
See help for details.
ReneMiner
16-10-2014, 07:43
just downloaded but filename says 1.9.13. ???
ErosOlmi
16-10-2014, 07:47
:oops: sorry, amending the old post just changed the url text but not the url link.
Now fixed.
ReneMiner
16-10-2014, 09:55
Thanks for the update :)
already posted in support (Type_Exists (http://www.thinbasic.com/community/project.php?issueid=473#note2769)) does not work on standard-types any more ( i thought it did before ).
Also Array Scan Ptr seems to have issues when continous scans (http://www.thinbasic.com/community/showthread.php?12459-ARRAY-ideas&p=91572#post91572) are done. Or I do it computely wrong :D
Since it's not possible to Dim Like "aliasName" neither works Type_Exists("aliasname") - but can not tell the last for sure since standard-types don't work currently - i urgently need a safe type that only holds pointers to heap and nothing else. I suggested already (http://www.thinbasic.com/community/project.php?issueid=477)
Alias Dword As Heap_Ptr
to have a special type of Dwords for these and perhaps then to replace "Ptr" in Array Scan by "Heap_Ptr" too for better readability.
Petr Schreiber
16-10-2014, 20:08
Hi Eros,
thank you :drink:
This is important release not just for all those cool Type/Scan features, but also for user friendly font rendering in TBGL.
Thanx René, for pushing me to finally solve this :)
Petr
Eros,
Why is it I cannot run a bundled exe file when "Obfuscate" is checked
in the bundle window? It is automatically check in the Bundle window.
When I uncheck it and bundle, the exe will execute. Is there anyway
you can make it an option to check instead of automatic. Plus, why
have it if the exe's will not execute?
Thank You,
Bill
ReneMiner
18-10-2014, 12:55
just found another typo in thinBasic-help:
Navigation: thinBasic Modules > UI (User Interface) > Additional Controls And Functions > TreeView Control > TreeView_GetExpanded
Syntax says
Data = Treeview_GetCheck(hWnd, ctrlID, hItem)
should be somewhat like
expanded = Treeview_GetExpanded(hWnd, ctrlID, hItem)
Petr Schreiber
20-10-2014, 19:44
Hi Bilbo,
the bundling is not working in the BETAs, but you may try approach I described in this post:
http://www.thinbasic.com/community/showthread.php?12380-thinBasic-Beta-1-9-12-0&p=91022&viewfull=1#post91022
Petr
Petr,
I am using 1.9.1.14.0 and I have been bundling RotteK
Augustin Fresnel (and his fractals) programs. They have
all bundled, except the very last one. I have to uncheck
"Obfuscate" to get programs to bundle.
I'll try your script and see what happens.
Thanks,
Bill
P.S. I tried your script and it works. But the lib and/or
inc that are included in the program do not automatically
appear in the window. You have to type or paste the
names in.
John Spikowski
20-10-2014, 21:39
Eros,
This may sound nuts but have you ever considered a ThinBASIC to PoweBASIC translator to allow your users to compile their apps? It might help add some excitement to the PowerBASIC community in these troubled times.
ErosOlmi
21-10-2014, 01:11
What I can say is that next beta version will be dedicated to solve this problem.
ThinBASIC bundling (creation of a kind of EXE containing all files needed to execute a script without having ThinBASIC installed) was developed many years ago and never updated in recent versions.
I will give a ... full refresh.
This may sound nuts but have you ever considered a ThinBASIC to PoweBASIC translator to allow your users to compile their apps? It might help add some excitement to the PowerBASIC community in these troubled times.
;) You are not far from what I have in mind but ... (a lot of vaporware here):
without involving PB (too many possible legal issues)
limited to the minimum in order to substitute just thinBasic.exe with a dynamic main executable compiled on the fly and able to encode user script and call Core module in memory.
Eros,
I think it would be a disservice if you make a translator
for the free scripts created in thinBasic to an external
Basic language you have to pay for. PowerBasic is not
freeware, at least not the last I seen. It would be like
getting a free slice of bread and have to pay $100 for
the butter to spread on it.
Except for one of his post, I have been bundling RobbeK's
recent posts. I have to uncheck "Obfuscate" for them
to bundle though.
No, put the compiler in thinBasic.
Just Make thinBasic Better,
Bill
John Spikowski
21-10-2014, 01:32
limited to the minimum in order to substitute just thinBasic.exe with a dynamic main executable compiled on the fly and able to encode user script and call Core module in memory.
That sure sounds like it has a O2 ring to it. :)
ErosOlmi
21-10-2014, 07:24
Eros,
I think it would be a disservice if you make a translator
for the free scripts created in thinBasic to an external
Basic language you have to pay for. PowerBasic is not
freeware, at least not the last I seen. It would be like
getting a free slice of bread and have to pay $100 for
the butter to spread on it.
Except for one of his post, I have been bundling RobbeK's
recent posts. I have to uncheck "Obfuscate" for them
to bundle though.
No, put the compiler in thinBasic.
Just Make thinBasic Better,
Bill
And will be like that!
No translator to other languages, nothing to pay for.
Just a different way (stable, secure, easy and possibly with more options) to create the Bundled Executable.
John Spikowski
21-10-2014, 09:16
And will be like that!
No translator to other languages, nothing to pay for.
Just a different way (stable, secure, easy and possibly with more options) to create the Bundled Executable.
Maybe a first step would be to do something like Script BASIC and append the script to the end of the interpreter and alway check for attachments before processing any comand line options. SB stores its pre-tokenized script image in a binary form using the scriba -Eo mypgm.exe mypgm.bas command line option. (no compiling needed) This works great for creating in-line batch file scripts that support redirection. (stdin/out/err) Windows batch file processing isn't a fan of interpreters inline.
Since ThinBASIC interprets on the fly, your text scripts could be attached as a compressed text image with JIT decompression at runtime.
Thank you, Eros, that's great to hear.
Bill
ErosOlmi
21-10-2014, 17:34
Maybe a first step would be to do something like Script BASIC and append the script to the end of the interpreter and alway check for attachments before processing any comand line options. SB stores its pre-tokenized script image in a binary form using the scriba -Eo mypgm.exe mypgm.bas command line option. (no compiling needed) This works great for creating in-line batch file scripts that support redirection. (stdin/out/err) Windows batch file processing isn't a fan of interpreters inline.
Since ThinBASIC interprets on the fly, your text scripts could be attached as a compressed text image with JIT decompression at runtime.
That is (more or less) what is done now: there is a compiled EXE created in-memory to which needed files are attached as EXE resources.
At run time, resources are saved as hidden files on disk and script executed.
At the end of script execution, files on disk are removed.
Attached files to the main executable are:
thinbasic.exe
thincore.exe
zlib.exe
obfuscated user script
<all thinbasic modules used by the script>
At run time, thinBasic.exe is executed passing obfuscated script.
Thinbasic.exe invoke thincore.dll and execute the script.
I want:
remove the need to have thinbasic.exe
main exe will call thincore.dll passing to is a memory representation of the obfuscated script avoiding to explode script on disk
having the possibility to add whatever icon and version info to the main executable
Anyway, I'm very close to this.
Eros
Petr Schreiber
21-10-2014, 19:19
Yes, yes, yes:excited:
Hey All,
I need to clarify what I've indicated about my bundling.
I have the exe to be created in thinBasic's root directory.
It will run there, but not if the exe is in another directory.
It cannot find the included file(s), sub-directories, etc. So,
it is correct that thinBasic does not create stand-alone exe's.
I sure am hoping and praying that Eros gets it all sorted out.
Bill
John Spikowski
21-10-2014, 22:51
I sure am hoping and praying that Eros gets it all sorted out.
You can rest assured that if it can be done, Eros will do it. ThinBASIC doesn't ask for a credit card to enjoy the code only feedback is Eros's reward.
ReneMiner
10-11-2014, 09:43
Type_Exists-Reminder:
still not working on built-in variable-types.
Uses "console"
If Type_Exists("Byte") Then PrintL "byte exists"
WaitKey
does not print any output :(
attached: help-file typo, look for a pinkish dot