Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   MessageDlg se queda detrás de la ventana (https://www.clubdelphi.com/foros/showthread.php?t=68471)

jjoliveras 15-06-2010 21:41:45

MessageDlg se queda detrás de la ventana
 
Bueno, la verdad es que hacía tiempo que no realizaba ninguna consulta en este foro, pero hoy me voy a desquitar un poquito porque tengo algún que otro problemilla más que arrastro de hace tiempo. :D

El siguiente problema es que, sobre todo en los accesos remotos al servidor, los MessageDlg se quedan detrás de la ventana que la lanza y el cliente cree que la aplicación está colgada y el que lo sabe con el Alt+Tab o Alt+Esc la trae al frente, pero la mayoría no lo hacen y cierran la aplicación a la fuerza. No encuentro la forma de que se le pueda indicar que queden en primer plano de cualquiera de las maneras, incluso si el operador ha pulsado alguna tecla antes de su aparición que parece que sea el problema de todo esto.

En realidad quien lanza el MessageDlg, no es el formulario, si no el datamodule.

¿Existe algún método para que esto no ocurra? ¿Alguna pista?

Gracias de nuevo de antemano a todos.

Un saludo.

BrunoBsso 15-06-2010 21:47:23

Se me ocurre, así nomás "al vuelo", que hagas un procedimiento con el formulario principal, el cual reciba los atributos del mensaje, y el mismo procedimiento lance el mensaje. Creo que así el que manda el mensaje es el formulario principal.
Pero, ojo, es una idea medio rara.
Probala y fijate.
Saludos!

Lord Delfos 16-06-2010 00:58:17

Me acuerdo que alguna vez tuve algún problema similar... Yo te recomendaría usar un MessageBox, el cual admite el parámetro MB_TOPMOST.

Así fue como lo solucioné yo (según recuerdo).

Código Delphi [-]
MessageBox(0, '', '', MB_ICONWARNING or MB_OK or MB_TOPMOST);

EDIT: El primer parámetro debería ser el manejador de la forma... ¿o era el de la aplicación? :rolleyes:

rgstuamigo 19-06-2010 16:01:05

Amigo jjoliveras revisa éste hilo.;).
Saludos...:)


La franja horaria es GMT +2. Ahora son las 02:42:01.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi