Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 22-11-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Lo primero de todo es decir el error concreto que da, si es un access violation, un abstract error o lo que sea, mientras tanto es muy difícil ayudarte.

En cuanto a lo del hint, hay 2 cosas:
- Application.Onhit := Mihint, no me queda claro si lo haces en cada ventana que creas, o solo en una. Deberías hacer eso en una sola ventana, así todos los hints de todas las ventanas se iran al LMDSTATUSBAR.

- ¿Por qué haces uso de un try finally vacío?
Código Delphi [-]
try
if Application.Hint <> '' then
LMDStatusBar1.SimpleText := Application.Hint;
finally


  // aqui deberias poner algo, o si no, quitar el try finally.


end


Comentarios de la función MostrarModal:
Código Delphi [-]
procedure MostrarModal(vForma: TForm);
begin
if vForma = nil then Exit;
vForma := TForm.Create(nil);
vForma.ShowModal;
vForma.Release;
end;

si vForma es igual a nil, entonces no se crea ¿Por qué?
Desde mi punto de vista debería ser al revés. Si vForma es igual a nil, significa que no está creada, por tanto se debe crear y mostrar.

Si vForma es distinto de nil, significa que está creada o sabe dios si se ha destruido ya.... para solventar esto, sigue leyendo.

Tampoco veo necesario usar Release (ya que no estas cerrando la ventana desde un método de esa misma ventana), lo cierras desde una ventana distinta y para ello sería mejor usar Freeandnil(VForma); así la segunda o tercera vez que se llame a Mostrar modal no dará fallos.

Yo haría la rutina de esta forma:
Código Delphi [-]
procedure MostrarModal(vForma: TForm);
begin
if not assigned(vForma) then
  vForma := TForm.Create(nil);
vForma.ShowModal;
freeandnil(vForma);
end;

Aunque no le veo mucho sentido, ya que deja muy poca interacción con dicha ventana, es decir, después de mostrarse, se cierra.... no da tiempo a recoger valores de retorno de dicha ventana... que suelen ser muy útiles.

En fin, tú sabrás qué y cómo lo estas haciendo.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
 


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
Reactivar onhint rafa_adrim OOP 5 24-01-2006 16:22:57


La franja horaria es GMT +2. Ahora son las 10:06:21.


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