NeoBook 5.0.4/5.5 Beta Test!

Information about NeoBook Updates

Moderator: Neosoft Support

Neosoft Support
NeoSoft Team
Posts: 5628
Joined: Thu Mar 31, 2005 10:48 pm
Location: Oregon, USA
Contact:

NeoBook 5.0.4/5.5 Beta Test!

Post by Neosoft Support »

NOTE: This beta test is now closed. Also, the version number for this update has been changed from 5.0.4 to 5.5 to better refect the significance of this update. The completed version 5.5 can be downloaded from:

http://www.neosoftware.com/nbw.html


Original post:

NeoBook users who would like to help test the next NeoBook update are invited to download the version 5.0.4/5.5 Beta.

Version 5.0.4/5.5 includes:

Enhancements

* Added a “Run (from this page)” command to the Book menu. This command runs the entire publication in test mode, but starts execution on the current page.

* Added a Version Info option to the Book Properties > General screen. This option allows the compiled exe’s version, company name, copyright, etc. properties to be customized.

* The Function Library and Call action now allow functions to be organized into subfolders. Added to the Function Library screen are additional tools for creating sub folders, moving, renaming and editing functions.

* Added a FileSize action that can be used to get the size of external or embedded files.

* Added BrowserGetElement and BrowserSetElement actions to retrieve and set the contents of HTML elements contained within a Web Browser object. For example, to set an HTML-based Text Box called “FirstName” to “Joe”, use the following action:

BrowserSetElement "WebBrowser1" "FirstName" "Joe"

To Retrieve the contents of the same HTML-based Text Box, use:

BrowserGetElement "WebBrowser1" "FirstName" "[Name]"

* Added a BrowserExecScript action to execute Java or VB scripts inside a Web Browser object. For example, the following action will replace the contents of WebBowser1 with “Hello from NeoBook!”:

BrowserExecScript "WebBrowser1" "text=[#34]Hello from NeoBook![#34];|document.write(text);" "JavaScript"

The user must have the appropriate Internet Security/Active Scripting option enabled in order to use this feature.

* Added three special external methods that can be used to interact with NeoBook from Java or VB scripts running inside a Web Browser object. The methods nbGetVar and nbSetVar can be used to read and write NeoBook variables. For example, the following JavaScript copies the contents of an HTML Text Box called FirstName to the NeoBook variable [Name]:

window.external.nbSetVar( '[Name]', mainform.FirstName.value );

This JavaScript copies the contents of the NeoBook [Name] variable back to the FirstName Text Box:

mainform.FirstName.value = window.external.nbGetVar( '[Name]' );

Finally, the external method nbExecAction can be used to execute NeoBook actions from a Java or VB script:

window.external.nbExecAction( 'AlertBox "Hello" "Hello from the Web Browser!"' );

* Added a global variable called [HTTPTimeOut] that can be used to specify the number of milliseconds NeoBook should wait for an HTTP action to return before giving up. By default NeoBook will wait forever.

* Added a global variable called [HyperlinkClickedText] that contains the text of the most recently clicked hyperlink. This applies to the Article, Linked-Article and Simple Text objects.

* Added an option to the Book Properties > Window screen to disable the publication window’s close button.

* Added a global variable called [ShutdownSource] that can be used in conjunction with [ShutdownStatus] from a publication’s Shutdown action to determine the source of a close request. [ShutdownSource] may be one of the following:

NeoBook = NeoBook’s Exit action.
Windows = Shutdown request originated with Windows.
CloseButton = User clicked on pub window’s close button/system menu.

* Added an option to customize the hourglass/busy cursor to the Book Properties > General screen.

* The Math action can now automatically determine the optimal number of decimal places by passing “-1” in the second parameter (decimal places).

* Added an option to turn off the depress effect to the Push Button Properties screen. The depress effect causes the button image to shift to the right and down one pixel when the button is clicked.

* The ClearVariables action now includes an optional parameter that can be used to pass a list of variables to be cleared. Separate multiple variables with comma or pipe “|” characters. For example:

ClearVariables "[FirstName],[LastName],[Street],[City],[State],[Zip]"

Leave the parameter blank to clear all variables.

* NeoBook’s NB5ActiveX.ocx control now prompts users before downloading a compiled publication pkg file for the first time. The prompt alerts users to the potential risk and allows them to OK or Cancel the download. The prompt only appears when downloading a new pkg file over the Internet. Pkg files that are already installed on the system will not generate a prompt.

* NeoBook’s NB5ActiveX.ocx control can now be installed as a component in other programming environments that support ActiveX controls. This will allow Delphi, Visual Basic, C++, etc. programmers to incorporate compiled NeoBook publications into their applications. Methods have also been added to the ActiveX to allow programmers to access NeoBook variables and execute NeoBook actions.

* After opening a custom window, NeoBook will now store the handle (HWND) of the window in a special variable called [ObjectName.WinHandle]. ObjectName is the name of the object used to create the custom window.

* Added [AppID.ProcessID], [AppID.ProcessHandle], [AppID.WinHandle] global variables to provide technical information about applications launched with the Run or RunInRectagle actions. These variables will generally only be of interest to plug-in developers.

* Added an option to the Book > Run Options command that can be used to write a list of executed actions to a log file. This can be useful for debugging complex action scripts. Windows Notepad can be used to view the log files.

* The Flash Player now has the ability to intercept non-NeoBook specific FSCommands by defining a special subroutine called ObjectName_FSCommand. (ObjectName is the name of your Flash Player object.) Before calling the subroutine, NeoBook will create two variables called [ObjectName.fsCommand] and [ObjectName.fsArgs] containing the information passed from the SWF file to NeoBook. The contents of these variables can be almost anything, so some knowledge of the SWF file will be helpful when deciding how to interpret this information. For example:

:Flash1_FSCommand
AlertBox "FSCommand" "[Flash1.fsCommand], [Flash1.fsArgs]"
Return


* The Tab Order dialog box can now be resized.

* Added support for separate design-time and run-time plug-ins. This allows developers to create two versions of their plug-ins - one containing code required for design-time, such as interface wizards, and one containing only the run-time code. In theory, the run-time version should be reduced in size, resulting in smaller compiled publications. To create run-time plug-in, simply change the file extension to “.nbr”. Design-time plug-ins use the normal .npb extension. Both files should be installed into the same NeoBook\Plug-Ins folder. The use of run-time plug-ins is optional. For compatibility with older versions of NeoBook, design-time plug-ins (.nbp) should always include both design-time and run-time code.
Added support for plug-ins written in Borland C++Builder. See developer’s kit (SDK) documentation for details.

* Added nbRenderEffectEx procedure to plug-in SDK. This is an extension to the existing nbRenderEffect procedure that provides additional parameters that developers of transition effect plug-ins may find useful. See SDK documentation for details.

* And several other minor enhancements.

Fixes

* Improved the display quality of 32-bit PNG alpha channel images. Previously, a banding effect could occur when either the image or the background contained a complex gradient. Also corrected transparency problem that affected the display of certain 32-bit PNG images under Windows XP-SP2.

* The compiler’s Setup option has been rewritten to correct an unusual problem that affected installation programs created for extremely large publications. Previously, when installing large publications, the setup.exe would occasionally introduce a random flaw into files as they were being uncompressed onto the users hard drive. Under certain circumstances the flaw would prevent the publication exe from running. This problem only affected extremely large publications.

* The Embedded Files feature now works correctly with executable (exe) files. Previously, embedded exe files would not be compiled inside the final publication exe. This problem also affected the ExtractFile action.

* The ComboBox and ListBox objects now work correctly with short cut keys.

* The Missing Files Report’s print option now works correctly.
Fixed a problem that caused the PrintTextFile action to double the number of requested copies when the “display windows print setup screen for all print actions” option was turned off.

* Modified the mouse enter and exit actions to insure that they are executed in the proper order. Previously, moving the mouse rapidly over multiple buttons could cause mouse enter or exit actions to execute in the wrong order or not at all.

* Custom windows now work properly with “stay-on-top” style publications.

* Corrected a problem that could cause cartoons to display incorrect transparency information under certain circumstances.

* The RefreshObject action now works correctly with the Flash Player.
Fixed a problem with the Find action that caused Simple Text and Article objects on the master page to flicker when searching large publications.

* Fixed “invalid floating point error” message that occurred when displaying web pages containing buggy JavaScript code inside the Web Browser object. NeoBook now instructs the CPU's math coprocessor to ignore floating-point exceptions. This will effectively prevent the error message from being displayed which is how Internet Explorer deals with this problem.

* And several other minor fixes.[/b]
Last edited by Neosoft Support on Tue Jun 20, 2006 6:38 pm, edited 3 times in total.
NeoSoft Support
User avatar
HPW
Posts: 2571
Joined: Fri Apr 01, 2005 11:24 pm
Location: Germany
Contact:

Post by HPW »

Whow! A big list to check and play.

:)
To create run-time plug-in, simply change the file extension to “.npr”. Design-time plug-ins use the normal .npb extension.
Isn't that a typo in extensions?
To create run-time plug-in, simply change the file extension to “.nbr”. Design-time plug-ins use the normal .nbp extension.

When will the updated SDK published?
Hans-Peter
User avatar
remlap
Posts: 141
Joined: Thu Jun 09, 2005 5:23 pm
Location: Lincolnshire, England

Post by remlap »

Wow, this is an awesome amount of work, thanks Dave. I shall really enjoy playing with this upgrade.
User avatar
domino
Posts: 275
Joined: Sat Apr 02, 2005 7:11 am
Location: Notts UK

Post by domino »

I echo remplaps comments.... Thank You.

There's plenty of really useful features here... I particularly welcome the ability to clear selected variables...
eddy current
Posts: 48
Joined: Mon May 23, 2005 7:24 pm

Post by eddy current »

Great enhancements!

Personally, I'd love to see an example "Internet" application (a showcase/demonstration) that incorporates all of the HTTP browser capabilities/features. Anyone volunteering? <grin>

Thanks -- Glen
User avatar
Gaev
Posts: 3782
Joined: Fri Apr 01, 2005 7:48 am
Location: Toronto, Canada
Contact:

Post by Gaev »

Thanks Dave ... should have named it v6 ... or at least v5.1 !

Some huge leaps in interfacing with the outside world ... html/javascript/vbscript, flash/fscommand and ActiveX.

Just installed it ... will begin testing soon.
User avatar
HPW
Posts: 2571
Joined: Fri Apr 01, 2005 11:24 pm
Location: Germany
Contact:

Post by HPW »

And my special thanks for saving the maximised window state of the pub-MDI window on shutdown!!

:)
Hans-Peter
Neosoft Support
NeoSoft Team
Posts: 5628
Joined: Thu Mar 31, 2005 10:48 pm
Location: Oregon, USA
Contact:

Post by Neosoft Support »

Isn't that a typo in extensions?
Yes, you're right. The run time plug-in extension should be ".nbr".
Personally, I'd love to see an example "Internet" application (a showcase/demonstration) that incorporates all of the HTTP browser capabilities/features.
You can find a small example pub in the "\NeoBook 504 Beta\v5 Samples\Browser Communication" that demonstrates some of the new Web Browser actions.[/quote]
NeoSoft Support
User avatar
domino
Posts: 275
Joined: Sat Apr 02, 2005 7:11 am
Location: Notts UK

Post by domino »

Re...
\NeoBook 504 Beta\v5 Samples\Browser Communication
When I run the highlight text example I get a JavaScript error

line 6

window.document.body etc
is Null or Not an object

It doesn`t show the error in test mode...
User avatar
HPW
Posts: 2571
Joined: Fri Apr 01, 2005 11:24 pm
Location: Germany
Contact:

Post by HPW »

When I run the highlight text example I get a JavaScript error
Works without problems for me.
:roll:
Hans-Peter
User avatar
Gaev
Posts: 3782
Joined: Fri Apr 01, 2005 7:48 am
Location: Toronto, Canada
Contact:

Post by Gaev »

Works without problems for me.
... no problem here either ... Design Time or exe.

Don, what are your OS and Browser versions ?
User avatar
domino
Posts: 275
Joined: Sat Apr 02, 2005 7:11 am
Location: Notts UK

Post by domino »

Browser MSIE 6.0.2900.2180.xpsp2
XP Pro SP2

Design Time And Runtime....

Just for info though if I press the button subsequently after closing the error window it works/errors/works.

Haven`t had a chance to spend much time with this yet.. still need to disable the Microsoft Script Error Debugger to see whether this is a 'real' issue or a 'nuisance warning'...
SpiritHorse_
Posts: 32
Joined: Thu Mar 31, 2005 11:11 pm
Location: New Mexico,USA
Contact:

Post by SpiritHorse_ »

you bet your bippy i will help test it.
User avatar
smartmedia
Posts: 889
Joined: Fri Apr 01, 2005 6:50 am
Location: Hellas
Contact:

Post by smartmedia »

HPW wrote:
When I run the highlight text example I get a JavaScript error
Works without problems for me.
:roll:
The same to me, is working, i thnik has to do with the Java virtual machine...

Very nice job Support.... "Μπράβο"
Locked