Ver Mensaje Individual
  #6  
Antiguo 16-03-2007
[basti] basti is offline
Miembro Premium
 
Registrado: ago 2004
Posts: 388
Reputación: 20
basti Va por buen camino
Tengo Delphi 7 y no aparece ese evento en el form, pero por el nombre supongo que será un nuevo evento que se ejecuta cuando la ventana hace un Paint.

El Paint no se hace siempre, sólo si es necesario redibujar el formulario. Por ejemplo cuando minimizas la ventana y la vuelves a restaurar, entonces se ejecuta paint. O cuando abres otra ventana que oculta parcialmente tu formulario y luego lo vuelves a mostrar.

Cuando haces un debug en Delphi, ocultas tu formulario con el propio Delphi, por eso pasa por esa línea, porque es necesario volver a redibujar la ventana para mostrarla.

Mejor solución es, como bien dice egostar, usar el evento OnShow.
Aunque si no es necesario usar un evento, ¿para que usarlo?, esto es lo que yo haría
Código Delphi [-]
procedure Tout_paises.nuevoClick(Sender: TObject);
var
  sql:string;
begin
    nuevo_registro:=true;
    Application.CreateForm(Tin_paises,in_paises);
    sql:='select * from pais limit 0';
    crear_query_live(in_paises,dm.Database,in_paises.ds,sql);
    in_paises.ds.DataSet.Append;
    in_paises.show;
    enabled:=false;
end;

Aunque podrías probar con formularios Modales, quizás te sirvan y te ahorrarían código
Código Delphi [-]
procedure Tout_paises.nuevoClick(Sender: TObject);
var
  sql:string;
begin
    nuevo_registro:=true;
    Application.CreateForm(Tin_paises,in_paises);
    sql:='select * from pais limit 0';
    crear_query_live(in_paises,dm.Database,in_paises.ds,sql);
    in_paises.ds.DataSet.Append;
    in_paises.showModal;
end;
Responder Con Cita