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
**********************************************************************

Reply via email to