First, thanks for the response, and second, sorry if my explaination is
confusing you.

I'll explain it again.

The situation:
I have a server application using remote data modul
And I have a client application connect to server using socket connection
In my server application, I use tray icon to hide the server application
main form from the task bar
The tray icon will provide akses to open my server application main form for
server management tools.
The icon will only appear on the server
Admin user will use the icon to access the server management tools

Now the problem:
In normal condition, the icon will appear if client connect to the server
application after someone logon to the server computer where the server
application reside.
But if a client connect to the server application, when no one has logon to
the server computer, then the icon won't appear after someone logon to the
server computer. But of cource the instance of server application is running
and listed in the task manager.
And other problem is if the server computer got crash or something where the
explorer.exe must be killed, the icon won't appear after I run explorer.exe
from the task manager.
In my situation, the server is sometime access by the administrator, so
someone need to logon, and my server application also need some
administrative things to do and can be accessed through the server
application main form from the tray icon menu.

What I'm trying to do is to make sure the icon will always there for user to
access the menu what ever happen(when no user logon the windows yet, or
after an explorer.exe restart)

I'm not saying that the first person to log in doesn't get a notification
icon, but everyone after that does,
If any client connect to the server application when no one logon to the
server computer, then anyone logon to the computer, won't get the tray icon.

All client must disconnect first then reconnect again to make the icon
visible again.

I'll try your suggestion, looks interesting, but I'll try to research more
on how to recreate only the icon.

Thanks again

        Iwan Cahyadi Sugeng wrote:
        > I have a server application using TRemoteDataModule, and I use
tray icon for
        > this server application. 
        > So everytime user connect, the tray icon will appear as the server
        > application is running.
        
        I don't understand. The user is connecting with the client. Why put
the 
        server's icon anywhere? The user isn't at the server to see the icon

        anyway, right?

        > But when the explorer.exe file is killed from the windows task
manager and
        > then run the explorer.exe again the tray icon is not redisplayed.
        
        Why is Explorer running on your server computer? Nobody should need
to 
        be logged in at the server.
        
        Why are you killing Explorer? Is it to simulate crashing? If
Explorer is 
        crashing, then you have an unstable server and you should fix that.
        
        > How can I make my icon reappear on explorer.exe restart?other icon
can do
        > that, like outlook or opera for example.
        
        Call RegisterWindowMessage('TaskbarCreated'), and then have your
program 
        listen for that window message (in Application.OnMessage, for
instance). 
        When you get that message, re-create your notification icon.
        
        > Also when any user connect to the application server, while nobody
has login
        > to the server computer, then when someone logon the computer, the
icon is
        > not appeared
        
        Are you saying that the first person to log in doesn't get a 
        notification icon, but everyone after that does?
        
        -- 
        Rob


Iwan Cahyadi Sugeng
Freelance Programmer

Interaktif Cipta Lestari
Jakarta - Indonesia

Yahoo ID: gig_boy2001
MSN ID  : iwancs

Reply via email to