Kirk, Yes, this is a good idea, and the schema when there is central UI process (worker) displaying a toolbar, and all other windows are created with DIALOG(;*) by clicks on toolbar buttons / menu items is interesting, but in this particular case not doable, as I work with existing application that I do not want - and cannot - rewrite. I just want to straightforward some tasks - modern apps are more and more about communication, data exchange and synchronisation. Where I used to have one background process, I now have many, with much more complex UI they need to be able to interact with. It would be nice if I could open a window anywhere that will - from the beginning - be able to process events while code in its process is still executing. I thought that DIALOG(;*) is just such commands, but it seems more complex than I thought.
Regards, On Tue, Jun 25, 2019 at 9:41 PM Kirk Brooks via 4D_Tech < 4d_tech@lists.4d.com> wrote: > Hi Peter, > > When you call DIALOG(*) the dialog opens in the current process. But as you > saw execution continues on. The solution is to make a DIALOG call by itself > first and open the subsequent windows from there. > > The suggestions I've heard are to think about having a single UI process. > This initial dialog could be something really simple, like a small palette > or it could be a big window. That doesn't really matter. The change in > thinking is we open new windows from here for things that we would spin up > a separate process for in 4D classic. > > What about memory management? you may think. Well, this approach is > probably best suited for working with ORDA and minimal reliance on process > variables. If you are using ORDA the great majority of the data you are > working with are actually references and 4D is super optimized for working > with this. > > Hope this helps. > > On Tue, Jun 25, 2019 at 6:45 AM Peter Bozek via 4D_Tech < > 4d_tech@lists.4d.com> wrote: > > > I maybe already asked this question, but anyway I am still a bit > confused: > > > > I wanted to use DIALOG with * as an additional parameter, but have > problem > > to make it work. I have app that display several info windows - like > > palettes, progress messages, communication statuses etc.Currently, I > often > > need 2 processes for each task: one does the work as background task, > > another display it status / progress. So instead of running a separate > > process for each window, why not to use one process that will display > > whatever windows application wants to display? Or display status from > > inside background process that do communication or lengthy task. > > > > My original idea was to call > > > > OPEN FORM WINDOW > > DIALOG(;*) > > PAUSE PROCESS > > > > but that does not work, as the process execution is "standing" at PAUSE > > PROCESS and no code is executed (and CALL FORM is either not executed or > > window is not redrawn.) > > > > When I remove PAUSE PROCESS, process ends and DIALOG window is closed. > > > > According to documentation, it would work of I do > > OPEN FORM WINDOW > > DIALOG(;*) > > DIALOG() > > > > but that is quite ugly, and would cause some problems, as I want the > > process that calls DIALOG(;*) periodically evaluate which windows are > open > > and close itself if none. > > > > Another possibility is just to open window and call DIALOG(), then call > > DIALOG(;*) from inside the form method of the first DIALOG() form. That > > would (probably) work, form can use On timer event to check what is open, > > open additional dialogs etc. but I do not like the idea either. > > > > Is there a way how to use DIALOG(;*) from a process that does not have > any > > other window open? > > > > Regards, > > > > -- > > > > > > Peter Bozek > > ********************************************************************** > > 4D Internet Users Group (4D iNUG) > > Archive: http://lists.4d.com/archives.html > > Options: https://lists.4d.com/mailman/options/4d_tech > > Unsub: mailto:4d_tech-unsubscr...@lists.4d.com > > ********************************************************************** > > > > -- > Kirk Brooks > San Francisco, CA > ======================= > > What can be said, can be said clearly, > and what you can’t say, you should shut up about > > *Wittgenstein and the Computer * > ********************************************************************** > 4D Internet Users Group (4D iNUG) > Archive: http://lists.4d.com/archives.html > Options: https://lists.4d.com/mailman/options/4d_tech > Unsub: mailto:4d_tech-unsubscr...@lists.4d.com > ********************************************************************** -- -- Peter Bozek ********************************************************************** 4D Internet Users Group (4D iNUG) Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **********************************************************************