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 09-04-2014
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 17
jafera Va por buen camino
Error al dar click en formulario

Buenas a todos.

Esta semana he instalado por fin el DXE5 con todos los complementos que uso habitualmente Jv, Quickreport y QRDesign, etc.

He convertido un proyecto al nuevo sistema y despues de algunos ajustes, compila y rueda perfectamente, pero al momento de dar click en cualquier botón del programa, me sale el erros que os muestro en la imagen.

Alguien ha topado con algo parecido.

Saludos

Josep
Imágenes Adjuntas
Tipo de Archivo: jpg Imagen-DXE5.jpg (25,7 KB, 17 visitas)
Responder Con Cita
  #2  
Antiguo 10-04-2014
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.269
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Hola.
Tal vez tendrías que poner el código que se está ejecutando...
¿Se está ejecutando algún código?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 10-04-2014
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 17
jafera Va por buen camino
Gracias por la respuesta.

El problema es que no se en que punto se produce el error ya que me pasa muchas veces.

Explico un poco el proceso:
He instalado XE5 y sus componentes anexos, luego he abierto un proyecto relativamente pequeño de D6 en el XE5, al compilarlo CNPack da estos errores:

Exception: Access violation at address 500AAE63 in module 'rtl190.bpl'. Read of address 00000000 at 0.498
Exception: Access violation at address 500AAE63 in module 'rtl190.bpl'. Read of address 00000000 at 0.511
Exception: Access violation at address 500AAE63 in module 'rtl190.bpl'. Read of address 00000000 at 0.499
Exception: Access violation at address 500AAE63 in module 'rtl190.bpl'. Read of address 00000000 at 0.500
Exception: Access violation at address 500AAE63 in module 'rtl190.bpl'. Read of address 00000000 at 0.518
Exception: Access violation at address 500AAE63 in module 'rtl190.bpl'. Read of address 00000000 at 0.499
Exception: Access violation at address 500AAE63 in module 'rtl190.bpl'. Read of address 00000000 at 0.509
Exception: Access violation at address 500AAE63 in module 'rtl190.bpl'. Read of address 00000000 at 0.508
Exception: Access violation at address 500AAE63 in module 'rtl190.bpl'. Read of address 00000000 at 0.499
Exception: Access violation at address 500AAE63 in module 'rtl190.bpl'. Read of address 00000000 at 0.502

pero compila y rula.

Entro en la aplicacion usuario pasword y veo el form principal, luego le doy click a cualquier boton del menu y me salta el error de la imagen del primer mensaje, incluso este error de borrado aparece como 3 o 4 veces. Tambien me aparece el error en el momento de dar click al boton de cierre.

He puesto punto de interrupcion en el create, en el show, en el close, en el detroy y el mensaje con el error aparece siempre y no entro en el modo debug para ver si peta en alguna linea.

No se que código puedo aportar para ver algo de luz

Saludos

Josep
Responder Con Cita
  #4  
Antiguo 10-04-2014
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 17
jafera Va por buen camino
A ver si el error puede venir por este código en el close del botón, es lo único que se me ocurre:

Código Delphi [-]
procedure TF_Inici.ToolButton8Click(Sender: TObject);
var FileInfo: TShFileOpStruct;
begin
        if MDIChildCOUNT > 0 then
        begin
                ShowMessage('Hi han finestres obertes, tanca-les totes abans de sortir');
                Abort;
        end
        else
        begin
                FileInfo.Wnd := Handle;
                FileInfo.wFunc := FO_DELETE;
                FileInfo.pFrom := 'C:\Gestio_Arbitral_1.0\Temp\*.jpg';
                FileInfo.pTo := nil;
                FileInfo.fFlags := FOF_NOCONFIRMATION;
                ShFileOperation(FileInfo);

                FileInfo.Wnd := Handle;
                FileInfo.wFunc := FO_DELETE;
                FileInfo.pFrom := 'C:\Gestio_Arbitral_1.0\Temp\*.pdf';
                FileInfo.pTo := nil;
                FileInfo.fFlags := FOF_NOCONFIRMATION;
                ShFileOperation(FileInfo);

                Close;
        end;
end;

Saludos

Josep
Responder Con Cita
  #5  
Antiguo 10-04-2014
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 17
jafera Va por buen camino
Después de probarlo, el error está en el código anterior, no se si falta alguna unit o debo actualizar alguna linea a la nueva versión.

Si alguien tiene alguna idea pues será bien recibida.

Saludos

Josep
Responder Con Cita
  #6  
Antiguo 10-04-2014
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 17
jafera Va por buen camino
Solucionado

Buscando, buscando he adoptado este código:

Código Delphi [-]
procedure TF_Inici.ToolButton8Click(Sender: TObject);
var SearchRec: TSearchRec;
begin
        if MDIChildCOUNT > 0 then
        begin
                ShowMessage('Hi han finestres obertes, tanca-les totes abans de sortir');
                Abort;
        end
        else
        begin
                if FindFirst('C:\Gestio_Arbitral_1.0\Temp\*.*', faAnyFile, SearchRec) = 0 then
                repeat
                    Deletefile('C:\Gestio_Arbitral_1.0\Temp\'+SearchRec.name);
                until (FindNext(SearchRec) <> 0);
                FindClose(SearchRec);

                Close;
        end;
end;

Gracias a todos

Josep
Responder Con Cita
  #7  
Antiguo 10-04-2014
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 17
jafera Va por buen camino
Mi gozo en un pozo.

En un principio funcionaba bien y ahora me da un error de incompatibilidad:

[dcc32 Error] Curses.pas(725): E2010 Incompatible types: 'PWideChar' and 'string'
[dcc32 Error] Curses.pas(727): E2010 Incompatible types: 'NativeUInt' and 'TSearchRec'
[dcc32 Fatal Error] F2063 Could not compile used unit 'Curses.pas'

Me parece a mi que la migración va a ser más dura de lo que pensaba.

Por cierto me sigue lanzando el access violation....

Saludos

Josep
Responder Con Cita
  #8  
Antiguo 10-04-2014
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.269
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
¿Porqué no ejecutas el código inicial paso a paso y ves en qué línea te está dando el error?
Coloca un Breakpoint al inicio del procedimiento y ejecuta hasta que llegue ahí.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #9  
Antiguo 11-04-2014
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 17
jafera Va por buen camino
Gracias Neftalí.

El breakpoint ya lo puse tal y como comenté en un post anterior.

Lo que me da es un error al compilar el la linea del DeleteFile que es donde dice lo de los tipos no compatibles

E2010 Incompatible types: 'PWideChar' and 'string'

Y así no me deja continuar, comento el trocito de codigo y funciona perfectamente.

Lo mas raro es que en el form principal tengo el mismo codigo en el boton de cerrar (copiar/pegar) y no da error de compilación.
He mirado todos los use, units y no hay ninguno que falte.
Ya no se que más mirar.
El problema del rtl190.bpl, puede venir por un script de CNPack para guardar la fecha y hora de compilacion y guardarlo en una variable para presentarlo en el formulario acerca de.

Gracias y saludos
Responder Con Cita
  #10  
Antiguo 11-04-2014
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.269
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Perdón, no había leído esa parte...

Cita:
Empezado por jafera Ver Mensaje
Lo que me da es un error al compilar el la linea del DeleteFile que es donde dice lo de los tipos no compatibles
Este error a veces da cuando hay definidas 2 funciones en diferentes units que se llaman igual. Dependiendo de que unit esté cogiendo, te dará el error que te sale a tí.
Para asegurarte de que quieres que coja la de la unit correcta (en tu caso la de SysUtils, creo) basta con que coloques la unit delante de la función.

Código Delphi [-]
    SysUtils.DeleteFile(...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #11  
Antiguo 11-04-2014
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 17
jafera Va por buen camino
Gracias Neftalí.

Como le digo siempre a un compañero que a veces me echa un cable con esto del Delphi, te debo un beso muy grande, jejeje....

Has dado justo en el clavo, por esto comenté de que la migración seria un poco laboriosa ya que debo adaptarme a estas nuevas premisas.

Hay algun libro, manual, link web, etc donde pueda recabar informacion?

Y en relacion al acces violation, alguien tiene un trozo de codigo para poder sacar la fecha y hora de compilacion y colocarlo en el acerca de sin depender del script de CNPack siguiente que es el que utilizo actualmente y no compila bien?

Código Delphi [-]
program Data_CompilacioG;

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

var Lineas: TStringList;

begin
  Lineas:= TStringList.Create;
  try
    Lineas.Add('const DataCompilacioG = ''' + FormatDatetime('dd/mm/yyyy', Now) + ''';');
    Lineas.Add('const HoraCompilacioG = ''' + FormatDatetime('hh:nn', Now) + ''';');
    Lineas.SaveToFile('C:\Gestio_Arbitral_1.0\DataCompilacioG.inc');
  finally
    Lineas.Free;
  end;
end.

O tal vez hay que hacer alguna modificacion es este codigo, no se lo que me parece raro es que cuando abro cualquier proyecto en DXE5 me abre todos los data_compilacio de otro proyectos, cosa que en D6 no sucedia.

Repito, gracias y saludos

Josep
Responder Con Cita
  #12  
Antiguo 11-04-2014
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.269
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por jafera Ver Mensaje
Y en relacion al acces violation, alguien tiene un trozo de codigo para poder sacar la fecha y hora de compilacion y colocarlo en el acerca de sin depender del script de CNPack siguiente que es el que utilizo actualmente y no compila bien?
Yo para esto, en algunos proyectos, utilizo un ejecutable (GetVersionFile) hecho en Delphi, que lo suelto en el mismo directorio de mi proyecto. Este ejecutable está hecho en muy sencillo y lo que hace es coger la información de un EXE (como parámetro) un generar un fichero de texto con la información de versión en el mismo directorio.

Luego tengo un BAT/CMD que lo llamo cuando me interesa, aunque se podría hacer de forma automátizada después de compilar o linkar.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #13  
Antiguo 15-04-2014
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 17
jafera Va por buen camino
Buenas de nuevo a todos.

Volviendo al tema del script que en D6 funciona de perlas pero no así en DXE5, he descubierto que al compilar, el fichero .inc, desaparece, queda en blanco y no queda ninguna constante grabada.

Alguien lo ha solucionado?.

Es realmente normal este comportamiento?

Supondo que Lineas.Add en un stringlist funciona igual en ambas versiones de Delphi.

Saludos

Josep
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
llamar formulario al hacer click en un tabSheet del componente PageControl novato_erick OOP 9 06-09-2012 21:55:09
Derectar Ctrl-Click o Alt-click Willo Varios 2 18-11-2009 20:55:55
error en dbgrid al dar click sobre el Nomad Varios 3 12-08-2008 14:07:33
implmentar Articulo click..click..run Crash ASAPLTDA OOP 0 21-01-2006 16:16:08
como cancelar un click en el boton (X) de un formulario???? mguixot OOP 2 29-07-2003 12:23:35


La franja horaria es GMT +2. Ahora son las 13:50:32.


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