Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-06-2012
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.670
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
No sé qué problema tendrá, pero sí que veo algo poco práctico: vas cargando unas imágenes del disco, constantemente.
¿Por qué no las cargas en el programa y te ahorras de estar cargando una y otra vez, otra vez, y otra vez...?
Responder Con Cita
  #2  
Antiguo 08-06-2012
Avatar de martini002
martini002 martini002 is offline
Miembro
 
Registrado: may 2012
Ubicación: Puerto Ordaz - Venezuela
Posts: 175
Poder: 15
martini002 Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
No sé qué problema tendrá, pero sí que veo algo poco práctico: vas cargando unas imágenes del disco, constantemente.
¿Por qué no las cargas en el programa y te ahorras de estar cargando una y otra vez, otra vez, y otra vez...?
Porque no se como hacerlo
Si compartieras tu sabiduria conmigo
Responder Con Cita
  #3  
Antiguo 08-06-2012
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.670
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Sin son pequeñas puedes cargalas en un TImageList, por ejemplo.
O usa un Timage para cada una, y lo pones visible o invisible, según te haga falta.
Responder Con Cita
  #4  
Antiguo 08-06-2012
Avatar de martini002
martini002 martini002 is offline
Miembro
 
Registrado: may 2012
Ubicación: Puerto Ordaz - Venezuela
Posts: 175
Poder: 15
martini002 Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Sin son pequeñas puedes cargalas en un TImageList, por ejemplo.
O usa un Timage para cada una, y lo pones visible o invisible, según te haga falta.
Por ejemplo:
las dos imagenes del boton repartir, son del mismo tamaño
140x40, y la del mensaje Barajando es de 339x115

y todavia faltan las 40 cartas que son de 55x82
hay un problema en el boton repartir, no hace el cambio
de imagen cuando paso el mouse por el.

pero en el Form1 funciona correctamente con otro boton
buscare sobre TImageList
Responder Con Cita
  #5  
Antiguo 08-06-2012
Avatar de martini002
martini002 martini002 is offline
Miembro
 
Registrado: may 2012
Ubicación: Puerto Ordaz - Venezuela
Posts: 175
Poder: 15
martini002 Va por buen camino
Nota:
Cuando corro el programa y le doy click al boton Repartir,
el programa se cuelga por un par de segundos,
y luego me pide continuar o interrumpir el proceso
le doy a continuar y me aparece un mensaje con lo siguiente:

Uknown picture file extension (.)

a lo que asumo que el problema es con alguna de las imagenes...
ya realmente que no se que hacer con esto, buscare sobre
como almacenar las imagenes como en una base de datos
y usarla desde alli como dice Casimiro
Responder Con Cita
  #6  
Antiguo 08-06-2012
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.670
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Wink

Cita:
Empezado por martini002 Ver Mensaje
Cuando corro el programa y le doy click al boton Repartir,
el programa se cuelga por un par de segundos,
Supongo que "se cuelga un par de segundos" es simplemente porque tienes un sleep de retraso
Código Delphi [-]
Barajar();
Sleep (1000);  //  1 segundo
Form2.ImagenCentral.Picture.LoadFromFile(Getcurrentdir()+'\Imagenes\Etiquetas\Barajando.bmp');
Sleep (2000);  // 2 segundos
Form2.ImagenCentral.Picture.LoadFromFile('');
Repartir();
Si piensas que alguna imagen está mal, prueba el programa sin imágenes, a ver qué hace.
Pon en comentario las líneas donde cargas imágenes... y prueba.

Código Delphi [-]
Barajar();
Sleep (1000);  //  1 segundo
// Form2.ImagenCentral.Picture.LoadFromFile(Getcurrentdir()+'\Imagenes\Etiquetas\Barajando.bmp');
Sleep (2000);  // 2 segundos
// Form2.ImagenCentral.Picture.LoadFromFile('');  // por cierto, aquí no cargas nada, puede ser ese el error
Repartir();
Responder Con Cita
  #7  
Antiguo 08-06-2012
Avatar de martini002
martini002 martini002 is offline
Miembro
 
Registrado: may 2012
Ubicación: Puerto Ordaz - Venezuela
Posts: 175
Poder: 15
martini002 Va por buen camino
Este es el mensaje de error que me muestra la consola

Código Delphi [-]
First chance exception at $75719617. Exception class EInvalidGraphic with message 'Unknown picture file extension (.)'. Process Proyecto40Base.exe (5608)


Edito:
No habia visto tu comentario en el codigo.
"// por cierto, aquí no cargas nada, puede ser ese el error"

Excelente
ese es el problema, no lo reconoce, lo que yo queria hacer alli era
que la imagen fuera removida, y que quedara en vacio
el Timage, ahora el problema es hacer que funcione el boton
cuando le paso el mouse no cambia la imagen,
esto ya me paso en otro programita,
cual sera la forma de solucionarlo?

Problema del crash Resuelto

Última edición por martini002 fecha: 08-06-2012 a las 13:20:26.
Responder Con Cita
  #8  
Antiguo 08-06-2012
Avatar de martini002
martini002 martini002 is offline
Miembro
 
Registrado: may 2012
Ubicación: Puerto Ordaz - Venezuela
Posts: 175
Poder: 15
martini002 Va por buen camino
Disculpen por el doble post,
pero no pude editar el anterior
ya resolvi lo de la imagen, fue sencillo
pero si alguien con mas experiencia lo puede explicar
seria muy conveniente, lo que hice fue lo siguiente,

El Form2 es llamado desde un boton en el Form1
Las imagenes del Form2 no se cargaban correctamente
porque el modo de llamado desde el Form1 era el siguiente:

Código Delphi [-]
procedure TForm1.BotVersusClick(Sender: TObject);
begin
  with TForm2.Create(Self) do
  try
    Show
  finally
    Free
  end
end;

En mi ignorancia nunca supe realmente que esto influyera
hasta que se me ocurrio; esa forma la encontre en alguna web
donde explicaban como mostrar un Form llamado desde otro,
y realmente asi es como he aprendido lo poco que se,
simplemente buscando lo que necesito, bien ahora la forma
en que pude solucionarlo:

Código Delphi [-]
procedure TForm1.BotVersusClick(Sender: TObject);
begin
  Form2.Show; // -.-'
end;

Saludos, gracias Casimiro por tu ayuda
Responder Con Cita
  #9  
Antiguo 08-06-2012
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 21
Chris Va por buen camino
Hola Martín!

El siguiente código está malo:
Código Delphi [-]
procedure TForm1.BotVersusClick(Sender: TObject);
begin
    with TForm2.Create(Self) do
    try
        Show;
    finally
        Free;
    end
end;

Estás liberando el formulario inmediatamente después que lo creas. Intenta con este código:
Código Delphi [-]
procedure TForm1.BotVersusClick(Sender: TObject);
begin
    TForm2.Create(Self).show;
end;

En el evento "OnQueryClose" del Form2, agrega el siguiente código:
procedure TForm2.OnQueryClose(...);
begin
action := caFree;
end;


A cómo te ha dicho Casimiro, las imágenes estaban muy mal administradas. Pero no te preocupes, así es cómo uno aprende

Si ahora vas a utilizar imágenes almacenas en objetos TImage, puedes adaptar tu viejo código de la siguiente manera:
Código Delphi [-]
procedure TForm2.BotRepartirMouseEnter(Sender: TObject);
begin
    Self.BotRepartir.Picture := Image1.Picture;
end;

procedure TForm2.BotRepartirMouseLeave(Sender: TObject);
begin
   Self.BotRepartir.Picture := Image2.Picture;
end;
Fíjate que en código no utilizo la variable "Form2". En su lugar utilizo una variable especial llamada Self. Utilizar esta variable es la forma más segura para manipular el formulario/clase con código dentro de la misma clase.

Saludos!
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
Respuesta


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
Server Crash en Nevrona mlara Noticias 5 21-02-2012 13:51:24
Ejemplo de ciclo o bucle infinito ecfisa Humor 4 09-07-2010 17:44:59
Interbase server crash! fredycc Firebird e Interbase 4 08-01-2009 15:22:31
Bucle infinito al intentar abrir un tableset Shikanda Conexión con bases de datos 3 29-08-2007 09:18:00
bucle infinito emeceuy Varios 10 20-07-2007 20:28:55


La franja horaria es GMT +2. Ahora son las 07:27:44.


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