Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-07-2007
Avatar de b3nshi
b3nshi b3nshi is offline
Miembro
 
Registrado: feb 2005
Ubicación: Tucuman - Argentina
Posts: 164
Poder: 20
b3nshi Va por buen camino
Problema con PaintBox

Les explico lo q hice: tengo una aplicacion q hace graficas... un formulario principal MDIform y un hijo: MDIchild...
en el formulario hijo tengo un Tpagecontrol con dos paginas...

En pagina1 pido q ingrese la funcion y en pagina2 realizo la grafica de los datos ingresados en un paintbox q tengo... para ello en el evento onpaint tomo los datos de la pagina1 y luego voy graficando.

Mi problema esta cuando quiero cerrar este formulario mdi, luego de haber ingresado a pagina2 me aparece un error q dice control " has not parent window... y si no ingreso y cierro el formulario no hay ningun problema... es decir lo cierra correctamente...

Supongo q el problema estara en el PaintBox, pero no se bien porq... ya q una vez q lo pinta empieza el problema... alguien puede ayudarme?

Desde ya muchisimas gracias!

{Saludos}
Responder Con Cita
  #2  
Antiguo 26-07-2007
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.272
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
Se me ocurre que esté "saltando" el evento OnPaint cuando estás destruyendo el formulario (cerrando) y cuando ya hay cosas que están destruídas.

En el evento OnPaint prueba a colocar esto al principio:

Código Delphi [-]
  // Se está destruyendo
  if (csDestroying in Self.ComponentState) then begin
    Exit;
  end;

  ...aqui sigue en OnPaint
__________________
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 26-07-2007
Avatar de b3nshi
b3nshi b3nshi is offline
Miembro
 
Registrado: feb 2005
Ubicación: Tucuman - Argentina
Posts: 164
Poder: 20
b3nshi Va por buen camino
Hola... muchas gracias por tu respuesta... pero parece q por ahi no viene la mano... asi q lo q hice fue empezar a probar por porciones el codigo para ver a donde estaba el error... y resulta q aparece aqui:

Código Delphi [-]
{aib1 es un archivo binario, info es un registro, 
Tam es una variable q almacena "filesize(aib1)"
arreglo_valor es un arreglo q almacena la informacion del archivo (solo el valor, ya q el registro tiene otros datos)}
 
{Tamaño del arreglo}
Setlength(arreglo_valor,tam - 1);

{Ahora cargo el arreglo y voy almacenando el valor maximmo}
seek (aib1,tam);
for i:= 0 to tam - 1 do  begin
  seek(aib1, tam - 1);
  read(aib1,info);
  if valormax < strtofloat(info.valor) then
   valormax := strtofloat(info.valor);//Actualizo el valor maximo
  arreglo_valor[i]:= strtofloat(info.valor);
 end;

y bueno lo q hice fue cambiar por estas lineas de codigo y ya no me causa el error:

Código Delphi [-]
 
{Tamaño del arreglo}
Setlength(arreglo_valor,tam); //<--Primer cambio,e l tamaño, ya no es tam -1

{Ahora cargo el arreglo y voy almacenando el valor maximmo}
seek (aib1,tam);
pos := filepos(aib1); //Declaro esta variable q va guardando la posicion del archivo
for i:= 0 to tam - 1 do  begin
  seek(aib1, pos - 1);
  read(aib1,info);
  if valormax < strtofloat(info.valor) then
  valormax := strtofloat(info.valor);//Actualizo el valor maximo
  arreglo_valor[i]:= strtofloat(info.valor);
  pos := filepos(aib1);
 end;

Y ahora como dije ya no causa el error... pero no entiendo porq... será porq el tamaño del arreglo q estaba definiendo es menor q el tamaño q realmente necesitaba?

No se... la verdad ni idea... si alguien encuentra el motivo del error y su solucion voy a estar muy agradecido...

{Saludos}
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
Copiar un PaintBox al Clipboard Papitu Gráficos 1 01-10-2006 22:07:02
Coordenadas en el PaintBox fabiof2000 Gráficos 2 27-09-2006 10:08:03
paintbox pattyka Gráficos 2 25-06-2006 20:01:57
Imprimir el contenido de un PaintBox cjimenez C++ Builder 2 09-03-2005 20:00:57
Repintar un paintbox vipata Gráficos 0 14-02-2005 18:37:24


La franja horaria es GMT +2. Ahora son las 07:48:45.


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