Ver Mensaje Individual
  #1  
Antiguo 29-07-2006
Avatar de salvica
salvica salvica is offline
Miembro
 
Registrado: mar 2004
Ubicación: Albacete (España) ... En un lugar de la Mancha ...
Posts: 304
Reputación: 21
salvica Va por buen camino
Ventanas modales en Kylix

Hola a tod@s

¿podeis decirme como funcionan las ventanas modales en kylix?

intento lo siguiente:
Código Delphi [-]
{ Crear los directorios de trabajo del proceso }
  ForceDirectories( DIR_MAIN+OS_Separador+'CONFIG' );
  ForceDirectories( DIR_MAIN+OS_Separador+USUARIO );
  if( Libc.system(PChar('chmod -R 777 '+DIR_MAIN))<>-1 ) then begin
      Application.CreateForm(TForm_MessageBox, Form_MessageBox);
      with Form_MessageBox do begin
           Frm_MessageBox_Iniciar( 'No se pueden cambiar los permisos',
                                   'Los permisos del directorio '+DIR_MAIN+
                                   ' no pueden cambiarse'+OS_CRLF2+
                                   'Solicite ayuda al administrador del sistema'+OS_CRLF2+
                                   'Pulse el boton para continuar el proceso',
                                    imgIconWarning, btnAccept );
           ShowModal;
           Free;
      end;
end;
y me cierra la aplicación

Los contenidos de las variables son:
Código Delphi [-]
const
  OS_Separador = '/';
  OS_CRLF2     = #$D#$A#$D#$A;
  DIR_MAIN     = '/usr/local/PROGRAMAS';
  USUARIO      = 'salvador';

El form Form_MessageBox es una ventana con :
- un icono que contiene el tipo de mensaje (Error, Exclamation, Information, Question, Warning)
- una etiqueta de título
- una etiqueta de mensajes que puede ocupar varias líneas
- tres botones con ModalResult = mrNone y que les cambio el "Caption" cuando llamo a la función Frm_MessageBox_Iniciar() que está definida en "public"

El código de los botones de salida es el siguiente:
Código Delphi [-]
procedure TForm_MessageBox.BitBtn_ACEPTAR_OnClick(Sender: TObject);
begin
 ModalResult := mrYes;
end;

procedure TForm_MessageBox.BitBtn_CANCELAR_OnClick(Sender: TObject);
begin
  ModalResult := mrNo;
end;

procedure TForm_MessageBox.BitBtn_REINTENTAR_OnClick(Sender: TObject);
begin
  ModalResult := mrRetry;
end;

Gracias adelantadas
salvica
Responder Con Cita