Modulair applications
Moderator: Neosoft Support
Re: Modulair applications
1) Is the resize the first code called when your application starts? If not then make it the first subroutine executed.
2) Have you tried using the splash screen option to see if your still seeing the resize from 1280x800 to 1920x1080?
3) Have you tried starting the application minimized, resize to desired resolution, then show the application (after a short delay)?
2) Have you tried using the splash screen option to see if your still seeing the resize from 1280x800 to 1920x1080?
3) Have you tried starting the application minimized, resize to desired resolution, then show the application (after a short delay)?
Re: Modulair applications
Hello Digiross,
Thanks a lot for your reaction. To get this working is very import for me, and I think I'm not alone... ;*)
See answers below:
1) Is the resize the first code called when your application starts? If not then make it the first subroutine executed.
EB: I tried several ways; resize code in the startup actions, via the alStartup plugin (this plugin runs code before anything is shown)
Below code I tried with the "Great" npInfoGet plugin, for full screen without hiding the taskbar
2) Have you tried using the splash screen option to see if your still seeing the resize from 1280x800 to 1920x1080?
This I tried now but makes no difference.
3) Have you tried starting the application minimized, resize to desired resolution, then show the application (after a short delay)?
How to do this????
Best regards,
Eric
Thanks a lot for your reaction. To get this working is very import for me, and I think I'm not alone... ;*)
See answers below:
1) Is the resize the first code called when your application starts? If not then make it the first subroutine executed.
EB: I tried several ways; resize code in the startup actions, via the alStartup plugin (this plugin runs code before anything is shown)
Below code I tried with the "Great" npInfoGet plugin, for full screen without hiding the taskbar
Code: Select all
:alStartup
npInfoGet "System.WorkArea.Bottom,System.WorkArea.Left,System.WorkArea.Right,System.WorkArea.Top"
SetVar "[WindowTop]" "[System.WorkArea.Top]"
SetVar "[WindowLeft]" "[System.WorkArea.Left]"
SetVar "[WindowWidth]" "[System.WorkArea.Right] - [System.WorkArea.Left]"
SetVar "[WindowHeight]" "[System.WorkArea.Bottom] - [System.WorkArea.Top]"
Return
This I tried now but makes no difference.
3) Have you tried starting the application minimized, resize to desired resolution, then show the application (after a short delay)?
How to do this????
Best regards,
Eric
http://www.lunarsoftware.eu - Lunar Software ERP database Development. Manufacturing processes, Document management, QMS, Stock management. Standalone solutions or connected to Helios Orange and other ERP systems.
-
- NeoSoft Team
- Posts: 5628
- Joined: Thu Mar 31, 2005 10:48 pm
- Location: Oregon, USA
- Contact:
Re: Modulair applications
You can maximize the pub window by placing the following in your startup action:
SetVar "[WindowState]" "Maximized"
This works, but you will see the window appear briefly at it's designed size before maximizing. You could alleviate this by making the first page a splash screen. Use a delay to make the splash image appear for a few seconds, before maximizing and changing pages. For example:
Delay "3000"
SetVar "[WindowState]" "Maximized"
GotoNextPage
...
SetVar "[WindowState]" "Maximized"
This works, but you will see the window appear briefly at it's designed size before maximizing. You could alleviate this by making the first page a splash screen. Use a delay to make the splash image appear for a few seconds, before maximizing and changing pages. For example:
Delay "3000"
SetVar "[WindowState]" "Maximized"
GotoNextPage
...
NeoSoft Support
Re: Modulair applications
Hello All,
Okay after a week experimenting with all the ideas everyone wrote down, I went further with the idea from Geav. I don't use the "RunNeobook" action as in Dave's example because this is also unstable, possible due to plugins used I don't know. I don't have yet everything solved, but lets say that 90% is done.
The main solution I have developed is the follow:
1. I made a standard "template" for the currently and future modules. The template design is done to get a standard for all the modules. The template has some standard scripts needed for each module. Rest of the scripts is of cause different per module.
2. All the modules are full screen windows but don't cover the task-balk, and are compiled as a standard application and the extension renamed to DLL (I don´t know if this can give problems???). I also had before my apps full screen mainly for tablet users, for me this is okay.
3. The main module is a user login application (with EXE extension). This application loads also the HPW treemenu from the database and saves this as a text file, all the other modules are using this to show the treemenu. The login application also loads the language variables from a database (multi-language per user) and some other needed variables. After the user login, the login application saves the variables in a encrypted file which is used by the other modules. (Encrypted because of passwords etc etc)
4. The modules cannot start standalone (in case some renames DLL to EXE), this is done with a special commandline parameter and a IF ELSE script.
5. If a user switches from one module to the other via the tree menu, the previous modules stays on top and is closed when the new module finishes start-up. This gives the user almost idea that he is working in the same application. Before the next modules is started the previous module again saves the variables.
6. Each module can have also more pages and functions (in the scope of the module), in case of a page switch via the treemenu this is recognized, and only a page switch is done (not a complete restart of the module). Most of the time the users are using 1 or 2 modules, so starting a new module isn't that frequently. But even then, the time it takes to switch between modules isn't that increased against the application with all in one.
There are two things I don't have yet completed:
1. I don't want to have two buttons shown on the windows task-balk between switching.
2. On the moment the previous module closes itself after an delay, but I would like that the new module, after the start-up is completed, closes the previous module. The problem with the delay is that not every module start-up is the same. I tried some ways I found in this forum but till now I didn't the 100% way the archive this.
Of cause there are a lot more procedures I use then described above.
If everything works I will try to create a small demo to share, but a lot of things are database driven so it would not be a complete copy.
I'm open for discussion.
Regards,
Eric
Okay after a week experimenting with all the ideas everyone wrote down, I went further with the idea from Geav. I don't use the "RunNeobook" action as in Dave's example because this is also unstable, possible due to plugins used I don't know. I don't have yet everything solved, but lets say that 90% is done.
The main solution I have developed is the follow:
1. I made a standard "template" for the currently and future modules. The template design is done to get a standard for all the modules. The template has some standard scripts needed for each module. Rest of the scripts is of cause different per module.
2. All the modules are full screen windows but don't cover the task-balk, and are compiled as a standard application and the extension renamed to DLL (I don´t know if this can give problems???). I also had before my apps full screen mainly for tablet users, for me this is okay.
3. The main module is a user login application (with EXE extension). This application loads also the HPW treemenu from the database and saves this as a text file, all the other modules are using this to show the treemenu. The login application also loads the language variables from a database (multi-language per user) and some other needed variables. After the user login, the login application saves the variables in a encrypted file which is used by the other modules. (Encrypted because of passwords etc etc)
4. The modules cannot start standalone (in case some renames DLL to EXE), this is done with a special commandline parameter and a IF ELSE script.
5. If a user switches from one module to the other via the tree menu, the previous modules stays on top and is closed when the new module finishes start-up. This gives the user almost idea that he is working in the same application. Before the next modules is started the previous module again saves the variables.
6. Each module can have also more pages and functions (in the scope of the module), in case of a page switch via the treemenu this is recognized, and only a page switch is done (not a complete restart of the module). Most of the time the users are using 1 or 2 modules, so starting a new module isn't that frequently. But even then, the time it takes to switch between modules isn't that increased against the application with all in one.
There are two things I don't have yet completed:
1. I don't want to have two buttons shown on the windows task-balk between switching.
2. On the moment the previous module closes itself after an delay, but I would like that the new module, after the start-up is completed, closes the previous module. The problem with the delay is that not every module start-up is the same. I tried some ways I found in this forum but till now I didn't the 100% way the archive this.
Of cause there are a lot more procedures I use then described above.
If everything works I will try to create a small demo to share, but a lot of things are database driven so it would not be a complete copy.
I'm open for discussion.
Regards,
Eric
http://www.lunarsoftware.eu - Lunar Software ERP database Development. Manufacturing processes, Document management, QMS, Stock management. Standalone solutions or connected to Helios Orange and other ERP systems.
Re: Modulair applications
Eric:
Glad you could make use of the suggestion.
Glad you could make use of the suggestion.
I don't understand ... did you mean "windows task bar" ?1. I don't want to have two buttons shown on the windows task-balk between switching.
From the Help file ...2. On the moment the previous module closes itself after an delay, but I would like that the new module, after the start-up is completed, closes the previous module. The problem with the delay is that not every module start-up is the same. I tried some ways I found in this forum but till now I didn't the 100% way the archive this.
One approach might be that, when the start-up is complete, the new module requests NeoBook to "run the previous (i.e. calling) module" ... with a special (command line) parameter ... like "Pretty Please Exit Now" ... and that would be the cue for the previous module to "close itself".You can detect when a user attempts to launch a second instance of your publication by creating a special subroutine called CommandLine_OnChange. NeoBook will automatically execute this subroutine whenever the user attempts to start more than one copy of your publication. For example:
:CommandLine_OnChange
AlertBox "Warning" "An attempt was made to launch a second copy of this app."
Return
Re: Modulair applications
Hello Gaev,
Thanks for your response.
1. Yes I mean the windows task balk, it looks strange to have two task balk buttons between switching.
2. I'm now testing with a plugin from David npUtils the command "npKillProgram". I tried this before, but I think I did something wrong.
I will try and report back.
Regards,
Eric
Thanks for your response.
1. Yes I mean the windows task balk, it looks strange to have two task balk buttons between switching.
2. I'm now testing with a plugin from David npUtils the command "npKillProgram". I tried this before, but I think I did something wrong.
I will try and report back.
Regards,
Eric
http://www.lunarsoftware.eu - Lunar Software ERP database Development. Manufacturing processes, Document management, QMS, Stock management. Standalone solutions or connected to Helios Orange and other ERP systems.
Re: Modulair applications
Eric:
... it would make the Button really thin ... unfortunately, it leaves the width of the button as before ... and the Icon is still there.
I saw several references to utilities that can "permanently" hide the showing of buttons for specified Applications ... so it should be possible to have a plugin do something similar on demand.
I experimented with changing the value of [AppTitle] ... I was hoping that if I did ...1. Yes I mean the windows task balk, it looks strange to have two task balk buttons between switching.
Code: Select all
SetVar "[AppTitle]" ""
I saw several references to utilities that can "permanently" hide the showing of buttons for specified Applications ... so it should be possible to have a plugin do something similar on demand.
Ask dec about (1) as well ... he probably add this functionality in a day or two2. I'm now testing with a plugin from David npUtils the command "npKillProgram". I tried this before, but I think I did something wrong.
Re: Modulair applications - Solved!!!
Hello All,
My modular applications systems is finally working.
The last two problems where simple small failures.
1. Hiding the "Old Module from the Windows Task Bar"
After hiding the application from the Windows Task Bar with "npHideFromTaskbar", some script was done in the application. This made the application again visible on the Windows Task Bar, moving the "npHideFromTaskbar" function after the scripts was the solution.
2. Closing the "Old Module" from the "New Module
This was really a logical thinking failure (Sorry David E. with bordering you). As I already described before I save the variables from the "Old module", and load these in the "New module". Okay with the RUN function I also set a parameter which application to close after start-up. At start-up I do a, my problem was that I after this opened the variables file, and of cause overwrote also the [Param] variables. Changing the script sequence solved also this problem.
Tomorrow I will create a sample with the complete solution and share. Maybe it can save someone a little time.
Thanks a lot everyone.
Regards,
Eric
My modular applications systems is finally working.
The last two problems where simple small failures.
1. Hiding the "Old Module from the Windows Task Bar"
After hiding the application from the Windows Task Bar with "npHideFromTaskbar", some script was done in the application. This made the application again visible on the Windows Task Bar, moving the "npHideFromTaskbar" function after the scripts was the solution.
2. Closing the "Old Module" from the "New Module
This was really a logical thinking failure (Sorry David E. with bordering you). As I already described before I save the variables from the "Old module", and load these in the "New module". Okay with the RUN function I also set a parameter which application to close after start-up. At start-up I do a
Code: Select all
StrParse "[CommandLine]" "[#13]" "[Param]" "[Count]"
Tomorrow I will create a sample with the complete solution and share. Maybe it can save someone a little time.
Thanks a lot everyone.
Regards,
Eric
http://www.lunarsoftware.eu - Lunar Software ERP database Development. Manufacturing processes, Document management, QMS, Stock management. Standalone solutions or connected to Helios Orange and other ERP systems.
Re: Modulair applications
As in my other message, David has these functions (working) in his great pluginsGaev wrote:Eric:
I experimented with changing the value of [AppTitle] ... I was hoping that if I did ...1. Yes I mean the windows task balk, it looks strange to have two task balk buttons between switching.... it would make the Button really thin ... unfortunately, it leaves the width of the button as before ... and the Icon is still there.Code: Select all
SetVar "[AppTitle]" ""
I saw several references to utilities that can "permanently" hide the showing of buttons for specified Applications ... so it should be possible to have a plugin do something similar on demand.
Ask dec about (1) as well ... he probably add this functionality in a day or two2. I'm now testing with a plugin from David npUtils the command "npKillProgram". I tried this before, but I think I did something wrong.
Eric
http://www.lunarsoftware.eu - Lunar Software ERP database Development. Manufacturing processes, Document management, QMS, Stock management. Standalone solutions or connected to Helios Orange and other ERP systems.
Re: Modulair applications
Since file size has been discussed regarding updates, etc.
I do recommend this software for creating small sized patches:
http://www.clickteam.com/patch-maker
I have the software, use it and again, recommend it.
Troy
I do recommend this software for creating small sized patches:
http://www.clickteam.com/patch-maker
I have the software, use it and again, recommend it.
Troy
Re: Modular applications
I used something like this to get the size and position of a window before it is moved or resized. The following "WHOP", etc.variables return the window to its original size and position.....ebear wrote:Hello All,
After a few days of experimenting with the example of Dave and some extra from me I'm pretty close to the perfect solution.
Only one problem I didn't solve till now:
- I'm building my applications for a minimum resolution of 1280 x 800, we have a lot of tablets etc with this resolution. Next to the tablets the most monitors in my company are 1920 x 1080.
In Dave's example the screen size is the same, but I need to start the application in full screen. Now when switching between the modules you see the module grow from 1280 x 800 to full screen on a 1920 x 1080 monitor. Hopefully my explanation is understandable
This looks not very professional. If there is a way to prevent this, I think the "Modular application" issue is solved and I will be glad to share.
Best regards,
Eric
Setvar "[WHOP]" "[WindowHeight]"
Setvar "[WWOP]" "[WindowWidth]"
Setvar "[WTOP]" "[WindowTop]"
Setvar "[WLOP]" "[WindowLeft]"
.Delay "5"
SetVar "[WindowWidth]" "968"
SetVar "[WindowHeight]" "570"
You can have a transition slide effect or disable/enable an object during the resizing so it does not look clumbsy to the user...
It sounds like you modular program is similar to the Microsoft snap in console
You can gray out the entire screen and do a transition fade-in etc., while your program resizes..... the user will not see anything except a gradual fade in.