Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-09-2014
shoulder shoulder is offline
Miembro
 
Registrado: abr 2008
Posts: 441
Poder: 19
shoulder Va por buen camino
Minimizar

Tenian razon cuando se llama a algo externo sea token, notepad..etc, al regreso me aparece la ventana minimizada. De las 4 veces que probe una sola vez me aparecio bien. Probe el ejemplo del :

Cita:
procedure TForm1.Button1Click(Sender: TObject);
var
MsgUser : string;
begin
ShellExecute(Handle,'open', 'c:\windows\notepad.exe','c:\cc.txt', nil, SW_SHOWNORMAL) ;
MessageDlg(MsgUser,mtInformation,[mbOK],0);
end;

Responder Con Cita
  #2  
Antiguo 19-09-2014
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
shoulder,

Cita:
Empezado por shoulder
...Tenían razón cuando se llama a algo externo sea token, notepad..etc, al regreso me aparece la ventana minimizada...
Cita:
Empezado por engranaje
...en ves de llamar a MessageDlg lo que hicieras fuera crear un nuevo formulario para mostrar mensajes pasándole el formulario padre como owner y lo llamaras con Showmodal es posible que evitaras el problema...


Te sugiero probar el siguiente código en sustitución de la función MessageDlg y ver como se comporta en relación al problema descrito:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
   MsgDialog : TForm;
   MsgUser : String;

begin

   MsgUser := 'Mensaje al Usuario';
   MsgDialog := CreateMessageDialog(MsgUser, mtWarning, [mbOk]) ;
   MsgDialog.FormStyle := fsStayOnTop;
   MsgDialog.ShowModal;
   MsgDialog.Free;

end;
El código anterior en Delphi 7 sobre Windows 7 Professional x32, crea un formulario de mensajes para el usuario, lo coloca al tope del Z-Order y lo muestra en modo ShowModal.

Espero sea útil

Nelson.
Responder Con Cita
  #3  
Antiguo 22-09-2014
engranaje engranaje is offline
Miembro
 
Registrado: may 2011
Posts: 163
Poder: 16
engranaje Va por buen camino
Si no me equivoco, sucede que cuando creas una ventana desde delphi 7, bien creando tu propio form, con un showmessage o con un messagedlg, al final y siguiendo la vcl vas a llegar al
Código Delphi [-]
  TCustomForm.CreateWindowHandle(const Params: TCreateParams)


y dentro a la llamada a la api en cuestion bien a
Código Delphi [-]
WindowHandle := SendMessage(Application.MainForm.ClientHandle,
      WM_MDICREATE, 0, Longint(@CreateStruct));
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

o a

Código Delphi [-]
CreateWindowEx(ExStyle, WinClassName, Caption, Style,
      X, Y, Width, Height, WndParent, 0, WindowClass.hInstance, Param);

http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

Según los parametros que en útima instancia se le esten pasando a CreateWindowHandle. Bien, si no me equivoco al llamar a otra aplicación con ShellExecute, esa otra aplicación pasa a estar activa mientras la nuestra pasa a segundo plano. Con la nuestra en segundo plano al llamar amn showmessage o messagedlg al final lo que hace es enviar al sistema un mensaje WM_MDICREATE creando una nueva ventana que tiene como "padre" en el zorder al mainform. Lo que creo es que como nuestra aplicación no está activa la ventana se crea efectivamente pero no como esperamos.

Siento no poder ser de mucha ayuda pero si ya has sido capaz de llegar hasta ese punto yo solo probaría con ese form propio asegurandote de que el padre y el owner es el form desde el que se llama para que finalmente la llamada a la api sea a createWindowEx y el wndParent sea el form desde el que se llama (si no me equivoco el activo en nuestra aplicación). Creo de veras que de este modo podria solucionarse el problema.
Responder Con Cita
  #4  
Antiguo 23-09-2014
shoulder shoulder is offline
Miembro
 
Registrado: abr 2008
Posts: 441
Poder: 19
shoulder Va por buen camino
Minimizar

Gracias por todo. Al final les dije a los usuarios si ven bloqueado el programa hagan click en la barra de windows porque la ventana esta minimizada y ya se acostumbraron. Aclaro no siempre se comporta asi.
Responder Con Cita
  #5  
Antiguo 24-09-2014
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
shoulder,

Cita:
Empezado por shoulder
...Al final les dije a los usuarios si ven bloqueado el programa hagan click en la barra de Windows porque la ventana esta minimizada...ya se acostumbrarón...


Nelson.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
cronometro minimizado kurono Varios 3 22-01-2009 06:42:14
Arranque minimizado Dado de baja Varios 2 25-06-2008 11:54:59
Minimizado de Formularios Michel Varios 0 16-08-2003 00:00:16
Restaurar un report minimizado MANU1102 Impresión 4 04-08-2003 14:41:27


La franja horaria es GMT +2. Ahora son las 05:10:09.


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