On Tue, 17 Jan 2006, Vincent Snijders wrote:
[EMAIL PROTECTED] wrote:
[EMAIL PROTECTED] wrote:
Hi there,
After toying a bit with the splash in Lazarus because I wanted to make
the
same for an app of mine, I came across a bit strange error. It seems
that
startlazarus and lazarus both call their own instance of te splash. So
if
you would like to send some info the the splash this would only be
possible starting from lazarus. Startlazarus does not seem to share the
splash. I fixed it for my own app and figured it would not harm doing
the
same for lazarus. At the same time the amount of code is a bit reduced
(more consistent with other dialogs) and I added also startup info to
the
splash. For now it's just very limited, but can easily be expanded.
Fairly trivial, but nice to have. Hope it gets comitted.
Nice feature, giving feedback in which phase of the startup lazarus is.
I wonder how this can work if you are using startlazarus. I think you are
showing
two splashscreens then, first one of startlazarus (which will remain there
for a
couple of seconds, because startlazarus doesn't know when lazarus has
started
completely) and then lazarus shows another splashscreen (just on the same
place).
Startlazarus starts lazarus with the -nsc option.
I don't think this is a nice aspect of this patch.
You're right, something fishy is going on. I did not notice it yesterday
late, but when I recompile lazarus the splash actually dissapears and then
shows again. But if I start startlazarus from terminal lazarus seems to
fire up that quick that I don't notice the dissapearing of the first
splash.
So that's back to the drawingboard for me. I will try to fix it and
resubmit, unless someone say's it's a waste of time. As said I figured it
out for an app of mine that's why I made this trivial enhancement.
No, not a waste of time.
If you go back to the drawing board, maybe you can take a look at a way to
implement some Interprocess communication (IPC) between startlazarus and
lazarus. If you can find a way to let lazarus communicate to startlazarus in
what phase it is and when it has finished starting up, then the splash screen
can be hidden in startlazarus at the correct time and not when some arbitrary
delay has finished.
IIRC, fpc has an IPC unit, but maybe it is not suitable. Andrew Haines used
it for the CHMHelpViewer.
It is suitable.
The startlazarus process should be an IPC server. The Lazarus program is
an IPC client which sends status information to the IPC server.
Lazarus can detect whether the IPC server is started to decide whether
it should
a. Display splash by itself
b. Send status info.
Michael.
_________________________________________________________________
To unsubscribe: mail [EMAIL PROTECTED] with
"unsubscribe" as the Subject
archives at http://www.lazarus.freepascal.org/mailarchives