Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-12-2006
federico1 federico1 is offline
Miembro
 
Registrado: nov 2006
Posts: 25
Poder: 0
federico1 Va por buen camino
Problema con MessageDLG o Application.MessageBox

tengo el siguiente codigo:

Código Delphi [-]
MessageDlg('El Socio se EXCEDE del monto permitido. El monto de compra tiene que ser menor o igual A:  '+vMontoActual, MtInformation, [mbOK],0)

y el problema que tengo es que cuando selecciono OK se vuelve al form anterior al que me encontraba antes del mensaje.

Alguien me podría ayudar ya que no encontre ningun hilo que hable de esto
Responder Con Cita
  #2  
Antiguo 23-12-2006
chileno chileno is offline
Miembro
 
Registrado: jun 2005
Posts: 121
Poder: 19
chileno Va por buen camino
No se si te entienda pero asi es como fuciona un messageDLG, yo creo que debes plantear mejor el como solucionar dicho proceso, "el valor de la compra excede al credito asignado al cliente", ahora si quieres que al presionar el boton OK realice una operación, puedes hacer esto:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
case MessageDlg('credito insuficiente', MtInformation, [mbOK,mbCancel],0) of
 mrOK      : begin
                  showMessage('lo siento para otro dia sera');
                end;
 mrCancel : begin
                  showMessage('que tanto, si me hechan...me pagan los años de servicio');
                end;
end;
espero que te sirva de ayuda......si no especifica mejor tu problema y te hecho un cable
Responder Con Cita
  #3  
Antiguo 24-12-2006
federico1 federico1 is offline
Miembro
 
Registrado: nov 2006
Posts: 25
Poder: 0
federico1 Va por buen camino
muchas gracias a lo mejor no me exprese bien, tengo un form con un edit en el cual almaceno un determinado monto para una compra, ahora bien si el socio tiene un monto permitido menor al que se ingresa en el edit largo un mensaje informativo de que se excede de ese monto y la idea es que vuelva al campo del monto ingresado para que corrija este valor.
el problema es que el messageDLG me saca del form y me manda al anterior.
Pero si me dices que messageDLG trabaja asi tendre que hacer un form personalizado.
Responder Con Cita
  #4  
Antiguo 24-12-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Lo que quieres se puede hacer perfectamente con el MessageDlg, el problema debe estar en otra parte. Sería bueno que explicaras un poco más acerca de cómo muestras el mensaje.

Por ejemplo, si el mensaje lo muestras en el evento OnClick de un botón cuya propiedad ModalResult es mrOk (quizá el botón "Aceptar" del formulario con el Edit), entonces, luego de cerrar el MessageDlg, también se cerrará el formulario con el Edit porque su propiedad ModalResult cambió.

Si la situación es parecida a lo que digo, lo que debes hacer es utlizar el evento OnCloseQuery del formulario para hacer la validación y cancelar el cierre del formulario de ser necesario:

Código Delphi [-]
procedure TForm2.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  // haces validaciones sólo cuando se presione el botón "Aceptar"
  if ModalResult = mrOk then
  begin
    // Si no pasa la validación...
    if MontoEsMayorQueElPermitido then
    begin
      // Lanzas el menaje
      MessageDlg('Valor incorrecto', MtInformation, [mbOK],0);

      // e impides que se cierre el formulario
      CanClose := false;
    end;
  end;
end;

// Saludos
Responder Con Cita
  #5  
Antiguo 26-12-2006
federico1 federico1 is offline
Miembro
 
Registrado: nov 2006
Posts: 25
Poder: 0
federico1 Va por buen camino
exactamente era eso roman, muchas gracias, solucionado el problema
Responder Con Cita
Respuesta



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
¿Application.MessageBox? Ledian_Fdez Varios 8 23-10-2006 22:19:44
Application.MessageBox !!! !3d1@n Varios 2 07-03-2005 20:22:20
problema con application.MessageBox ctronx Varios 3 12-01-2005 17:27:44
Cerrar MDI y Application.MessageBox MaJeSTiC Varios 6 05-08-2004 14:28:04
Ayuda con el Application.MessageBox? danytorres Varios 7 16-07-2003 21:05:32


La franja horaria es GMT +2. Ahora son las 11:24:42.


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
Copyright 1996-2007 Club Delphi