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 15-03-2007
joan_mvf joan_mvf is offline
Registrado
 
Registrado: mar 2007
Posts: 4
Poder: 0
joan_mvf Va por buen camino
Compilador Delphi 2006 salta sentencias

Hola a todos, tengo el siguiente problema, he instalado delphi 2006, y me esta dando el siguiente problema, delphi me salta sentencias, o mejor dicho el compilador, me brinca lineas de codigo. Cosas que yo quiero ke yo haga mi programa no me las hace, pero si la linea de codigo le pongo un action break o un trace como le kieran llamar, si me ejecuta la sentencia.

por ejemplo esta es una linea de codigo ke no me ejecuta, si le pongo el trace si lo hace.

out_articulos_alquiler.Enabled:=True;


alguno ke me ayude con esto, un amigo mio me dijo ke se resolvia reinstalando a delphi, pero ya lo he instalado como 3 veces y sigue con el problema.
Responder Con Cita
  #2  
Antiguo 15-03-2007
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Y si pones más código? Para que podamos hacernos una idea de por que te podría saltar esas líneas de código...

A veces por optimización de código, Delphi elimina ciertas líneas por que en realidad no se usan o no afectan en nada... ese podría ser tu caso..



Saludos...
Responder Con Cita
  #3  
Antiguo 16-03-2007
joan_mvf joan_mvf is offline
Registrado
 
Registrado: mar 2007
Posts: 4
Poder: 0
joan_mvf Va por buen camino
Por ejemplo yo tengo un formulario llamado out_articulos_alquiler que es el de consulta y otro in_articulos_alquiler, que es el de entrada, cuando yo etoy en el de consulta y quiero hacer una nueva entrada, en el evento FormPaint de in_articulos_aquiler yo hago eso, solamente tengo esa linea de codigo ahi

out_articulos_alquiler.enabled:=false;

desabilito el formulario de consulta y luego cuando termino de trabajar con la edicion, en el evento FormClose de in_articulos_alquiler vuelvo y activo el formulario de consulta, tengo solamente la siguiente linea de codigo

out_articulos_alquiler.Enabled:=True;
Action:=cafree;
in_articulos_alquiler:=nil;
Responder Con Cita
  #4  
Antiguo 16-03-2007
joan_mvf joan_mvf is offline
Registrado
 
Registrado: mar 2007
Posts: 4
Poder: 0
joan_mvf Va por buen camino
este es otro formulario, pero con el mismo problema, te agrego las lineas de codigo del formulario de consulta y de entrada, eso es todo lo que tnego en los dos formularios.

formulario consulta out_paises

Código Delphi [-]
procedure Tout_paises.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
out_paises:=nil;
end;

procedure Tout_paises.gridDblClick(Sender: TObject);
var
  sql:string;
begin
nuevo_registro:=false;
if validar_grid(ds)then
 begin
    Application.CreateForm(Tin_paises,in_paises);
    sql:='select * from pais where codigo='+ds.DataSet.fieldbyname('codigo').AsString;
    crear_query_live(in_paises,dm.Database,in_paises.ds,sql);
    in_paises.ds.DataSet.Edit;
    in_paises.show;
 end;   
end;

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;
end;

procedure Tout_paises.buscarClick(Sender: TObject);
 var
   sql:string;
begin
   sql:='Select * from Pais';
   crear_query(out_paises,dm.database,ds,sql);
end;

procedure Tout_paises.cancelarClick(Sender: TObject);
begin
    close;
end;

formulario entrada in_paises

procedure Tin_paises.cancelarClick(Sender: TObject);
begin
    close;
end;

procedure Tin_paises.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    out_paises.Enabled:=True;
    Action:=cafree;
    in_paises:=nil;
end;

procedure Tin_paises.FormPaint(Sender: TObject);
begin
    out_paises.enabled:=false;
end;

procedure Tin_paises.FormShow(Sender: TObject);
begin
    if out_paises.nuevo_registro=false then
      s2:='¿Desea guardar los cambios?'
    else
      s2:='¿Desea salvar este registro?';
end;

procedure Tin_paises.salvarClick(Sender: TObject);
var
  ok:integer;
begin
if validar_dbedit(descripcion,'Digite la Descripcion...!!')then
   begin
      ok:=mensaje_aviso(s2,'&Si','&No');

          IF  ok=1 Then
          begin
          ejecutar_query(dm.Database,'BEGIN WORK');
          if codigo.Text='' then
            begin
              codigo.Text:='0';
              ds.dataset.post;
            end
          else
            ds.DataSet.post;
          out_paises.buscar.ButtonClick;
          ejecutar_query(dm.Database,'COMMIT WORK');
              close;
           END
            else
               if ok=2 then close;
    end;
end;

//Lo edite para poner las etiquetas Delphi

Última edición por jhonny fecha: 16-03-2007 a las 00:17:49.
Responder Con Cita
  #5  
Antiguo 16-03-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Yo creo que el problema esta aqui

Código Delphi [-]
procedure Tin_paises.FormPaint(Sender: TObject);

No seria mejor usar el evento OnShow???

Saludos.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #6  
Antiguo 16-03-2007
[basti] basti is offline
Miembro Premium
 
Registrado: ago 2004
Posts: 388
Poder: 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
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
Codigo java a delphi, comparativa de codigos, funciones, metodos,sentencias..etc sakuragi Varios 0 14-12-2006 19:50:56
compilador de linea de delphi 7 / 2006 avmm2004 Varios 3 07-11-2006 23:24:28
Nuevos hotfixes para BDS 2006 y Turbo Delphi 2006 disponibles. Epachsoft Noticias 8 06-10-2006 18:42:13
zReport, salta al comenzar teletranx Impresión 6 16-09-2004 21:45:49
compilador delphi 4 joako_ Varios 1 12-12-2003 09:21:04


La franja horaria es GMT +2. Ahora son las 11:58:03.


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