Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #9  
Antiguo 17-04-2007
Avatar de morta71
morta71 morta71 is offline
Miembro
 
Registrado: may 2006
Ubicación: Girona - España
Posts: 30
Poder: 0
morta71 Va por buen camino
Gracias por tu respuesta D&W, ya me funciona, creo, correctamente.

En tu código veo que creas el Bitmap con imgGraphic := TBitmap.Create; pero no se libera con la sentencia imgGraphic.Free; correspondiente, por lo que tras varias ejecuciones del Form me reportaba un error por "Access Violation".

Si implemento la sentencia imgGraphic.Free; en el cuerpo del procedimiento, obtengo el mismo error "Access Violation", por lo que realicé las siguientes modificaciones:

He definido la variable imgGrapphic como privada y el código queda de la siguiente manera:

Código Delphi [-]
 ...
   private
     { Private declarations }
     imgGraphic : TBitmap;
 ...
 
 procedure TForm1.FormCreate(Sender: TObject);
 begin
   imgGraphic := TBitmap.Create;
 end;
 
 ...
 
 procedure TForm1.edtPaisGetImage(Sender: TObject;
   IsEmpty: Boolean; var Graphic: TGraphic; var TextMargin: Integer);
 var
   imgStream : TStream;
 Begin
 
   if not IsEmpty then
   try
     if not Table2.Active then Exit;
     if Table2.Fieldbyname('Diseno').IsNull then Exit;
     imgStream := Tstream.create;
     imgStream := Table2.CreateBlobStream(Table2.Fieldbyname('Diseno'),bmread);
 
     imgGraphic.LoadFromStream(imgStream);
     TextMargin := imgGraphic.Width + 2; //aquí establezco que el ancho sea siempre el ancho de la imagen que vamos a dibujar (he añadido 2 unidades para dar un poco de separación).
 
     Graphic := imgGraphic;
     imgStream.free;
   finally
   end;
 end;

procedure TForm1.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  imgGraphic.Free;
end;

Muchas gracias D&W por tu colaboración.
Responder Con Cita
 



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


La franja horaria es GMT +2. Ahora son las 21:22:33.


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