Jump to content











Photo
- - - - -

WinBuilder 073 - beta discussion


  • Please log in to reply
75 replies to this topic

#1 Brito

Brito

    Platinum Member

  • .script developer
  • 10616 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 15 October 2007 - 05:56 PM

Hi everyone!

This topic is meant to discuss the features to be added on the next stable version of wb which will later become version 074 when it's ready for the public.

In the meanwhile, these betas are made available for only for testing purposes - please ask or read the talks around here to know what to expect..

All requests for new features and bugfixes are more than welcome and you can find all the latest 073 beta binaries here on this topic to keep everything on a single place.

Don't forget to check or post any bugs you find on wb 072 on the bugtracker

http://www.boot-land...ocom=bugtracker

------------

Only one request from my part - please create new discussion topics for non-WinBuilder.exe discussion and this way keep this place clean and focused on a single matter.

This new version will become the result of your feedback and I thank in advance to everyone who joins our discussions here.

Above anything else - have fun and happy testing! :cheers:


--------------------------------------------------------


Beta 5 (2007-DEC-11)

- Disabled - SystemRefreshInterface is not executed when called from script UI buttons
- Corrected - FileCopy was not allowing to copy a file from one location to another using a different filename
- Corrected - Replaced all "wich" typo keywords by "which"
- Corrected - IniDeleteSection was not working with UNICODE files
- Solved - bug when encoding files using beta 4 - incompatibilities between unicode vs ansi
- Added - Main script treeview is locked when changing selected status to avoid flickers.


[download link]




--------------------------------------------------------


Beta 4 (2007-DEC-03)


- Removed - message that appeared after saving a script in the source editor - save button automatically detects when script is modified.
- Fixed - bug that erased the contents of the script whenever using a spinedit object on the interface
- Fixed - bug that prevented loading any .script file outside the projects folder
- Fixed - Bug which appeared when selecting an error on the log window after running a script "Cannot focus disabled window"
- Fixed - bug that prevented loading .script files in editor mode using command line parameters
- Added - IniDeleteSection - support for unicode files
- Added - IniAddTextLine - support for unicode files
- Added - button to edit listed web servers inside the web server list.
- Added - missing <If,Question,"My Question?",Command> option on the right click menu of the source code editor
- Added - option to launch external editor in source code editor
- Corrected - FileCopy command with progress bar - it was only outputing the name of the filename being copied after completing the copy
- Corrected - After clicking on button inside UI - big play button is disabled
- Corrected - System,RefreshInterface is not working after pressing button on script UI
- Corrected - edit with right-click button on explorer erased everything except interface
- Corrected - Text box won't remember changes made on UI editor
- Corrected - Play button inside source code editor was not saving latest changes
- Replaced - old inimerge code was replaced with newer version (please test)
- Replaced - logo icon for source code editor tab
- Replaced - navigation icons on main window


Attached File  WinBuilder073_Beta4.zip   831.11KB   450 downloads




------------------------------------------------------------------------------------------------------


Beta 3 (2007-NOV-18)

- Added support for reading the default webpage from each web server when selected
- Changed icon for download button inside the download center
- Reverted back to default internal project processing
- Web server list is now available as a tab to keep things tidy
- Added two new commands to the IF function - question and notquestion. Example syntax: if,question,"Continue?",echo,"Hello world!"

Attached File  WinBuilder073_Beta3.zip   823.07KB   424 downloads

------------------------------------------------------------------------------------------------------

Beta 2 (2007-NOV-09)

- Added NativeEx server on the download list
- Corrected error messages that ocurred when editing the script's description in standalone editor mode
- Added option on standalone editor to run buttons and checkboxes
- Running a single script in unattended is much simpler, new syntax: Winbuilder.exe /run="c:\test\apps\myApp.script"
This mode will automatically try to find it's respective project file and read all default values from there if none is specified on command line
- Unattended mode can run files with any .project filename (example: winbuilder.exe %basedir%\Projects\LiveXP\LiveXP.project)
- Added stop button when running in unattended mode
- Added confirmation box when deleting attached files.
- Added button to run script inside the source code editor
- Added auto-save option inside source code editor
- Server list is directly updated from the internet instead of using built-in server addresses.
- Added button on the download tab to refresh list of available servers on the web


Attached File  WinBuilder073_Beta3.7z   819.41KB   389 downloads

-------------------------------------------------------------------------------------------


Beta 1 (2007-OCT-15)

- Modified UI to keep tabs well separated and enlarge the size of the work window.
- Web tab now defaults to http://boot-land.net/forums instead of http://boot-land.net/forums/wb.php to give direct access to the forums
- fixed bug on web tab which kept the progress whell rotating even after the page concluded loading
- Added right-click menu to add commands on the New Script tool
- Added right-click copy/paste/cut function to codebox and New Script Tool
- Fixed the CheckList component on the interface section
- Added standalone editor mode for editing script - use winbuilder /open="mydir\myWork.script"
- Added self-registering on startup as default which allows to automatically double click to open the script or right-click to edit.


Attached File  WinBuilder073_Beta1.7z   822.23KB   625 downloads

Edited by Nuno Brito, 11 December 2007 - 03:40 PM.


#2 Brito

Brito

    Platinum Member

  • .script developer
  • 10616 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 15 October 2007 - 06:00 PM

We're back to beta discussions.. :cheers:

-- Modified the main window to make more room for other tabs and also make the overall look more tidy
-- Added the option to use a standalone editor for .script and .project files along with auto-associate - this can also be disabled from the option tab if not required.



Bugs on new features

-- Buttons and Checkboxes won't likely work when used under the standalone editor mode - sorry..

#3 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 15 October 2007 - 06:11 PM

Hi everyone!

This topic is meant to discuss the features to be added on the next stable version of wb which will later become version 074 when it's ready for the public.

In the meanwhile, these betas are made available for only for testing purposes - please ask or read the talks around here to know what to expect..

All requests for new features and bugfixes are more than welcome and you can find all the latest 073 beta binaries here on this topic to keep everything on a single place.

------------

Only one request from my part - please create new discussion topics for non-WinBuilder.exe discussion and this way keep this place clean and focused on a single matter.

This new version will become the result of your feedback and I thank in advance to everyone who joins our discussions here.

Above anything else - have fun and happy testing! :cheers:

--------------------------------------------------------


Beta 1 (2007-OCT-15)


Attached File  WinBuilder073_Beta1.7z   822.23KB   625 downloads

------------------------------------------------------------------------------------------------------


After a long boring time now the long time expected new chance to tell you your mistakes :cheers:

Thanks

Peter :cheers:

#4 Brito

Brito

    Platinum Member

  • .script developer
  • 10616 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 15 October 2007 - 06:14 PM

:cheers:

I was hoping to give you less reasons this time but you know how portuguese people work.. :cheers:

#5 powaking

powaking

    Frequent Member

  • Advanced user
  • 238 posts
  • Location:Fall River, MA
  •  
    United States

Posted 15 October 2007 - 08:46 PM

:cheers:

I was hoping to give you less reasons this time but you know how portuguese people work.. :cheers:


Can say that again :cheers:

#6 online

online

    Silver Member

  • Advanced user
  • 767 posts

Posted 16 October 2007 - 04:56 AM

:cheers:

I was hoping to give you less reasons this time but you know how portuguese people work.. :cheers:

And I don't tell you about italian people...! :cheers:

Carry on, Nuno! :cheers: :cheers:

#7 phox

phox

    Silver Member

  • .script developer
  • 764 posts

Posted 16 October 2007 - 05:00 AM

First impressions and comments about WinBuilder 073 beta1:

1. Work area is slightly larger but looks to white.

2. Web page of WB072 is much better,
as it gives lot of info besides connection to the Forum.

3. On all pages, except on Scripts, WB logo and title are lost.

4. Tools are accessible only from Scripts page.

5. Tools pages are slightly larger, but again to white.

6. Process bars are to square and color looks anemic in Vista.


Suggestions:

1. Keep WB072 graphical composition.

2. Add some more background colors.

3. Round top (bar) edges of all pages.

4. Add in the Tools, page titled “Make Apps script”,
similar as “Create script…”, with “Location” within Apps folder,
short description of MakeScript generator and button “Generate”,
to invoke MakeScript.exe, which should be located in the
Projects/Tools folder.

#8 Galapo

Galapo

    Platinum Member

  • .script developer
  • 3841 posts
  •  
    Australia

Posted 16 October 2007 - 05:15 AM

I'd like the feature for the script editor to ask if changes are to be saved (yes, no, cancel) if exiting but changes are not yet saved.

Thanks,
Galapo.

#9 thunn

thunn

    Silver Member

  • .script developer
  • 531 posts
  • Location:Brooklyn, New York
  • Interests:computers<br />mechanics<br />distortion<br /><br />
  •  
    United States

Posted 16 October 2007 - 07:08 AM

Nuno..
..thanks for sharing your work in progress! I'll have a look in a moment.

Any chance of adding search and replace to wb txt editor? It's not very important, but since I wind up using it often, it would be a help. For fast search and replace, I often use metapad, a notepad replacement. :cheers:

#10 booty#1

booty#1

    Frequent Member

  • .script developer
  • 285 posts
  • Location:Near Frankfurt
  •  
    Germany

Posted 16 October 2007 - 07:25 AM

This topic is meant to discuss the features to be added on the next stable version of wb which will later become version 074 when it's ready for the public.
In the meanwhile, these betas are made available for only for testing purposes - please ask or read the talks around here to know what to expect..

Ok, here are my suggestions for a new WinBuilder version:
  • Improved attachment decoding (see this topic)
  • Speed-up some of the commands (pedrole15 suggested that often using "System,RefreshVars" takes a lot of time)
  • Moving the built process into an own thread so that the WinBuilder GUI is usable all the time while building
  • Same thing for the download progress which killed the my WinBuilder (non-responsive, hung) more than once during the last days
booty#1

#11 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 16 October 2007 - 08:52 AM

First bug:

The updateCore.Script runs well with WB 072.

With WB 073 B1 an error appears

floating.gif

Log shows that this appears between the lines
Run,%ScriptFile%,Do-Core

 If,%pCheckBox1%,Equal,True,Run,%ScriptFile%,Delete-Vars
Do-Core is processed completely, independent of the order of files.
That means, that the issue does not depend on the last file in Do-Core.

First suggestion:

The progress bar should have the old blue color.
That is not because I do not like the light green (see my web page), but the light green does not fit into the WinBuilder GUI.

Peter

#12 Brito

Brito

    Platinum Member

  • .script developer
  • 10616 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 16 October 2007 - 11:26 AM

First impressions and comments about WinBuilder 073 beta1:

1. Work area is slightly larger but looks to white.

2. Web page of WB072 is much better,
as it gives lot of info besides connection to the Forum.

3. On all pages, except on Scripts, WB logo and title are lost.

4. Tools are accessible only from Scripts page.

5. Tools pages are slightly larger, but again to white.

6. Process bars are to square and color looks anemic in Vista.
Suggestions:

1. Keep WB072 graphical composition.

2. Add some more background colors.

3. Round top (bar) edges of all pages.

4. Add in the Tools, page titled “Make Apps script”,
similar as “Create script…”, with “Location” within Apps folder,
short description of MakeScript generator and button “Generate”,
to invoke MakeScript.exe, which should be located in the
Projects/Tools folder.


Hi Phox!

1 - In batcher I had added a color pallete to color the program anyway desired but I think that white is a neutral color - could also add a internal skinning app but haven't found any good free alternative and I'm not sure if it would compensate the slower performance since skinning also takes away resources.

3 - It's intentional - this way we get more work area on the other tabs

4 - Tools were only meant to be used when script projects are also available - except the language and options but I thought it would be better to keep the main tab uncluttered.

5 - which color would you prefer? :cheers:

---------

3 - It's not very the easy - the component comes from windows itself and it's squared by nature..

4 - The Create tab is already meant to be used with app scripts - users can selected their app scripts folder and even call MakeScript.

Try this: Place the MakeScript.exe binary inside the Project\Tools\Templates folder - a new tab will appear on the Create script tool called "Templates" - makescript will appear listed inside and will be launched when the user clicks on it. When MakeScript is closed the resulting script is loaded back into the Create Script tab.

It's still not finished - but most work has already been completed.. :cheers:


I'd like the feature for the script editor to ask if changes are to be saved (yes, no, cancel) if exiting but changes are not yet saved.

Thanks,
Galapo.


Ok, will keep it in mind now that the standalone editor is being rewritten.


Nuno..
..thanks for sharing your work in progress! I'll have a look in a moment.

Any chance of adding search and replace to wb txt editor? It's not very important, but since I wind up using it often, it would be a help. For fast search and replace, I often use metapad, a notepad replacement. :cheers:


It's a bit harder to implement - but I would also like to see this added.. :cheers:


Ok, here are my suggestions for a new WinBuilder version:

  • Improved attachment decoding (see this topic)
  • Speed-up some of the commands (pedrole15 suggested that often using "System,RefreshVars" takes a lot of time)
  • Moving the built process into an own thread so that the WinBuilder GUI is usable all the time while building
  • Same thing for the download progress which killed the my WinBuilder (non-responsive, hung) more than once during the last days
booty#1


Hi Booty#1!

-- Decoding is important - let me finish these UI implementations and some of the other requests and then we'll be prepared to move onto optimization again! :cheers:

-- Moving the build process to a new thread is already possible since we've added unattended builds on the last version. I'm thinking on launching a new WinBuilder.exe process to run the project we need when the blue play button is pressed. This would keep it completely detached from the first launched winbuilder while the other process would run the process.

Of course that memory requirements would also double as we end up with two winbuilder instances running at the same time - but my machine already comes with 1Gb and this would take up a maximum of 40~50Mb in memory for the two processes. (don't know about CPU use) - let me know your opinions on this matter.

Most work is already implemented would need some redirection for this new method.

----

Download progress - let's first work on a standalone project build and then move on to the download center - it's also a good idea to split these into separate process, I prefer it over creating multithreading in delphi since it's never a clean process and later becomes very dificult to manage them correctly.


First bug:

The updateCore.Script runs well with WB 072.

With WB 073 B1 an error appears

floating.gif

Log shows that this appears between the lines

Run,%ScriptFile%,Do-Core

 If,%pCheckBox1%,Equal,True,Run,%ScriptFile%,Delete-Vars
Do-Core is processed completely, independent of the order of files.
That means, that the issue does not depend on the last file in Do-Core.

First suggestion:

The progress bar should have the old blue color.
That is not because I do not like the light green (see my web page), but the light green does not fit into the WinBuilder GUI.

Peter



Hi Peter!

Will return to the old bars then but the error you mention is quite serious - will compare against the old code and see what can be happening.

At the moment I'm also a bit clueless on the reason why.

:cheers:

#13 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 16 October 2007 - 11:50 AM

Will return to the old bars then but the error you mention is quite serious - will compare against the old code and see what can be happening.

At the moment I'm also a bit clueless on the reason why.

Maybe it helps to find the bug:

The same floating point zero divison error you can get by:
(runs with WB072)
  • copy WB 073 B1 into an empty folder
  • download nativeEx_barebone only (no nativeEx_core etc)
  • define source path
  • navigate to
    • nativeEx_barebone
    • Basic
    • !WBManager
    • CheckTools
  • Run it
The script brings the same error. The log has just some lines:
floating1.gif

I hope that helps a bit!

Peter

#14 Brito

Brito

    Platinum Member

  • .script developer
  • 10616 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 16 October 2007 - 12:15 PM

Will get on it - thanks for posting these steps! :cheers:

#15 smiley

smiley

    Silver Member

  • .script developer
  • 905 posts
  •  
    Greece

Posted 16 October 2007 - 01:35 PM

-- Moving the build process to a new thread is already possible since we've added unattended builds on the last version. I'm thinking on launching a new WinBuilder.exe process to run the project we need when the blue play button is pressed. This would keep it completely detached from the first launched winbuilder while the other process would run the process.

Of course that memory requirements would also double as we end up with two winbuilder instances running at the same time - but my machine already comes with 1Gb and this would take up a maximum of 40~50Mb in memory for the two processes. (don't know about CPU use) - let me know your opinions on this matter.

Most work is already implemented would need some redirection for this new method.


Nuno, I completely disagree with this plan :
1)The process will be slower
2)It will be more difficult to make the two proceses communicate
3)It will consume many system resources
4)It will create many new bugs...

#16 powaking

powaking

    Frequent Member

  • Advanced user
  • 238 posts
  • Location:Fall River, MA
  •  
    United States

Posted 16 October 2007 - 02:01 PM

How about prompting for confirmation when removing a file or folder from a script? Don't know how many times I removed a folder instead of a file from a script with no way of getting back. :cheers:

#17 Brito

Brito

    Platinum Member

  • .script developer
  • 10616 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 16 October 2007 - 02:02 PM

You are right but nevertheless I would like to see it in action - we might get some good unexpected surprises.


The unattended option runs just as well as the "regular" run option - the log is a bit trickier to manage on this mode but can also be created if needed or in case of errors outputed.

Smiley, would you be available to run some performance tests to see how we can gain in speed in the next betas?

This also passes by improving the variable related commands and reducing memory leaks (if any) - a lot of ground to cover before introducing more changes.. :cheers:

#18 Brito

Brito

    Platinum Member

  • .script developer
  • 10616 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 16 October 2007 - 02:05 PM

How about prompting for confirmation when removing a file or folder from a script? Don't know how many times I removed a folder instead of a file from a script with no way of getting back. :cheers:


Sounds a good sugestion - I've marked it on my small list. :cheers:

#19 phox

phox

    Silver Member

  • .script developer
  • 764 posts

Posted 16 October 2007 - 02:30 PM

3 - It's intentional - this way we get more work area on the other tabs


I like to see WB logo all the time.

5 - which color would you prefer? :cheers:



Look the composition and colors of the Forum.

#20 booty#1

booty#1

    Frequent Member

  • .script developer
  • 285 posts
  • Location:Near Frankfurt
  •  
    Germany

Posted 16 October 2007 - 03:16 PM

Nuno, I completely disagree with this plan :
1)The process will be slower
2)It will be more difficult to make the two proceses communicate
3)It will consume many system resources
4)It will create many new bugs...

I totally agree with your arguments.

booty#1

#21 smiley

smiley

    Silver Member

  • .script developer
  • 905 posts
  •  
    Greece

Posted 16 October 2007 - 08:24 PM

Smiley, would you be available to run some performance tests to see how we can gain in speed in the next betas?

This also passes by improving the variable related commands and reducing memory leaks (if any) - a lot of ground to cover before introducing more changes..


Well, I have two ideas that will surely improve winbuilder performance. However I'm not a Delphi developer and don't know if these are possible in delphi.

1) Currently when winbuilder executes a file operation, first it checks if the arguments of the command are right (eg if a given filename exists). Then it uses a delphi command that checks its arguments and this calls an api function that again checks it arguments. ... My idea is that when winbuilder is about to execute a file operation, it will run directly the api function without checking if the arguments are right. So if there is a correct command, winbuilder won't waste time to check the arguments and this will make corect commands to be executed at high speed. Then if a command is not right, the api function will return an error value. So if winbuilder gets an error value it will investigate the problem. This can apply to FileCopy,FileDelete,FileRename,FileCreateBlank,DirMake,IniWrite,IniRead
(I'm not sure If I listed all of them...)

2) My second idea is much more difficult to achieve but it worth the effort. So I suggest that instead of reading the whole script, load it in memory, process each line, split it into arguments, etc , winbuilder should use some of the api commands that are exported by setupapi.dll. These function will open the script, enumerate its sections, read a line from a section or even split a line into arguments for winbuilder.
These operations are faster in setupapi than winbuilder because:
1)Winbuilder is written in delfi and setupapi in C
2)Setupapi doen't read the whole script in memory but some parts of it
3)Setupapi will keep a file open as long as you need
Except for this, this change will make winbuilder code much simpler and will fix any bugs that happen while processing a script.

#22 paraglider

paraglider

    Gold Member

  • .script developer
  • 1743 posts
  • Location:NC,USA
  •  
    United States

Posted 17 October 2007 - 01:33 AM

Fix the hang of winbuilder caused by trying to download a file that does not exist or with files having no file extension.

#23 paraglider

paraglider

    Gold Member

  • .script developer
  • 1743 posts
  • Location:NC,USA
  •  
    United States

Posted 17 October 2007 - 01:37 AM

Also what is the time that appera when downloading? For example its showing 12:02:05am. Current time is 9:37 PM.

#24 paraglider

paraglider

    Gold Member

  • .script developer
  • 1743 posts
  • Location:NC,USA
  •  
    United States

Posted 17 October 2007 - 01:42 AM

I see you have already fixed the hang when a file download fails as it now continues after failing on initrd.gz. However it still hangs on bzimage. Both of these are in the vista-pe beta project.

#25 booty#1

booty#1

    Frequent Member

  • .script developer
  • 285 posts
  • Location:Near Frankfurt
  •  
    Germany

Posted 17 October 2007 - 07:06 AM

1) Currently when winbuilder executes a file operation, first it checks if the arguments of the command are right (eg if a given filename exists). Then it uses a delphi command that checks its arguments and this calls an api function that again checks it arguments. ... My idea is that when winbuilder is about to execute a file operation, it will run directly the api function without checking if the arguments are right. So if there is a correct command, winbuilder won't waste time to check the arguments and this will make corect commands to be executed at high speed. Then if a command is not right, the api function will return an error value. So if winbuilder gets an error value it will investigate the problem. This can apply to FileCopy,FileDelete,FileRename,FileCreateBlank,DirMake,IniWrite,IniRead
(I'm not sure If I listed all of them...)

I don't think that this will greatly improve built speed. The overhead of such file-system checking functions isn't very high fraom what I know.

2) My second idea is much more difficult to achieve but it worth the effort. So I suggest that instead of reading the whole script, load it in memory, process each line, split it into arguments, etc , winbuilder should use some of the api commands that are exported by setupapi.dll. These function will open the script, enumerate its sections, read a line from a section or even split a line into arguments for winbuilder.
These operations are faster in setupapi than winbuilder because:
1)Winbuilder is written in delfi and setupapi in C
2)Setupapi doen't read the whole script in memory but some parts of it
3)Setupapi will keep a file open as long as you need
Except for this, this change will make winbuilder code much simpler and will fix any bugs that happen while processing a script.

Sorry but  :cheers: . Speed differences between Delphi and C isn't very high. Today the differences between real different prgramming languages isn't very hifgh anymore.
Even Java which was known in its first versions for an "unoptimal execution speed" has today nearly measured up to other prgramming languages by using highly sophisticated realtime optimizatio
n methods. 

From my point of view the biggest time cosumers in WinBuilder are the used data structures and algorithms. If I would get the chance to see the source code I am guess that I would be able
 to speed-up most operations that do not involve registry/disk access up tp 100% by rewriting the algorithm or using other containers.

booty#1




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users