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 25-04-2011
pacodelphi pacodelphi is offline
Registrado
NULL
 
Registrado: abr 2011
Posts: 4
Poder: 0
pacodelphi Va por buen camino
Problema con una 'Aplicación para presentar fotos'

Buenos días.

Primero quiero decir que abro este hilo después de buscar en otros hilos una solución a mi problema, a continuación presento mi problema:

Primero quiero empezar diciendo que para mi aplicación utilizo delphi7 bajo Windows vista.

Ahora el problema, mi aplicación consiste en un 'presentador de imágenes', para ello cuento en el formulario con un componente Timage, un botón (start/stop) y un reloj para un contador.

La aplicación funciona del siguiente modo: para hacer la presentación de imágenes, busco en un directorio imágenes con extensión *.bmp, para ello utilizo las funciones FindFirst y FindNext, y haciendo uso de unas variables y del reloj hago que la imágenes se muestren una tras otra en el Timagen.


Hasta ahí todo bien el problema está que cuando ejecuto la aplicación, si muevo el formulario por la pantalla, o algún otro formulario que también tenga el escritorio, en el instante de transición de una fotografía a otra me salta el siguiente error: 'Access violation at address 7789DE2D in module ntdll.dll. Write of address C68383C9'.

He pensado que puede ser algún fallo de refresco del formulario o del Timge, pero estoy un poco perdido. ¿Alguien me puede ayudar?.

Un saludo.

Última edición por Casimiro Notevi fecha: 25-04-2011 a las 11:58:18. Razón: Movido de "Internet" a "Varios"
Responder Con Cita
  #2  
Antiguo 25-04-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola pacodelphi y bienvenido a los foros de Club Delphi.

Con la información que das, solamente te puedo decir que el error Access Violation (generalmente) se debe a que estas intentando utilizar o liberar un recurso no disponible.

Cita:
haciendo uso de unas variables y del reloj hago que la imágenes se muestren una tras otra en el Timagen.
¿En que tipo de variable almacenas los nombres de los archivos de imágenes? ¿ Usas una lista ? ¿ La creas ? ¿ La liberas ?
¿Cargas directamente las imágenes al TImage desde el disco? ¿ Usas TBitmap, TStream ?

Ayudaría mucho que pusieras algo de código...

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 25-04-2011
pacodelphi pacodelphi is offline
Registrado
NULL
 
Registrado: abr 2011
Posts: 4
Poder: 0
pacodelphi Va por buen camino
Perdon (soy nuevo en esto) voy a ver como puedo poner el código estructurado y lo subo.

Última edición por pacodelphi fecha: 25-04-2011 a las 13:28:54.
Responder Con Cita
  #4  
Antiguo 25-04-2011
pacodelphi pacodelphi is offline
Registrado
NULL
 
Registrado: abr 2011
Posts: 4
Poder: 0
pacodelphi Va por buen camino
Código Delphi [-]
procedure TForm1.Timer1Timer(Sender: TObject);
var 
  Busqueda1: TSearchRec;  
begin       
  if z=0 then
  begin
    Memo1.Lines.Add('El directorio actual es:C:\FOTOS\PUBLICIDAD\');
    form1.Timer1.Interval:= 2000;
    FindFirst('C:\FOTOS\PUBLICIDAD\'+'*.bmp',faAnyFile, Busqueda1);
    Memo1.Lines.Add(Pchar(Busqueda1.name));
    Image1.Picture.LoadFromFile('C:\FOTOS\PUBLICIDAD\'+Busqueda1.Name);
    Image1.Update;
    //ShowMessage( SysErrorMessage(GetLastError()) );
    //Image1.Update;
    z:=1;
    //p:=0;
  end     
  else
  begin           
    p:=FindNext( Busqueda1 );
    if p <> 0 then
    begin
      //form1.Timer1.enabled:=false;                 
      z:=0;                 
      ShowPublicidad();
      exit;
    end;
    Memo1.Lines.Add(Pchar(Busqueda1.name));
    Image1.Picture.LoadFromFile('C:\FOTOS\PUBLICIDAD\'+Busqueda1.Name);
  end;// end if
end;

Última edición por ecfisa fecha: 25-04-2011 a las 15:43:12.
Responder Con Cita
  #5  
Antiguo 25-04-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola pacodelphi.

Me tomé la libertad de hacer el código de cero. Cambié el Memo por un ListBox así se selecciona el nombre de la imágen a medida que se muestra y algunos detalles más. (Espero haber interpretado bién lo que buscas...)

Te adjunto el código para que lo puedas modificar a gusto o sacar algunas ideas.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 01-08-2011 a las 10:02:56.
Responder Con Cita
  #6  
Antiguo 25-04-2011
pacodelphi pacodelphi is offline
Registrado
NULL
 
Registrado: abr 2011
Posts: 4
Poder: 0
pacodelphi Va por buen camino
Gracias

Hola ecfisa.

Gracias por tu ejemplo, ya que la solución que propones, con algunos cambios, es mucho mejor que la mía y me viene perfecto, ya no tengo los errores y me funciona perfecto. Muchas gracias de nuevo.

Un cordial saludo. Paco.
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
Como presentar varias o n fotos... ronimaxh Varios 6 21-10-2011 17:28:32
visualizar fotos desde mi aplicacion martindebiasi Internet 0 27-03-2008 22:24:12
funcion para imprimir fotos kapullok_2006 Impresión 1 09-06-2007 12:02:18
problema con aplicación para consola spab Varios 5 20-06-2005 11:25:51
Aplicacion con video y fotos rotativas. zugazua2001 Gráficos 2 02-06-2005 17:29:37


La franja horaria es GMT +2. Ahora son las 16:27:58.


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