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

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 03-02-2004
i.larranaga i.larranaga is offline
Miembro
 
Registrado: feb 2004
Posts: 26
Poder: 0
i.larranaga Va por buen camino
problemas con la memoria

Hola a todos,
yo tengo un problema parecido al comentado, mi programa va cogiendo y cogiendo RAM según se está ejecutando. He estado mirándolo un poco y resulta que por algún lado no libero memoria. Os pongo un ejemplo de una función del programa, el cual tiene el dicho problema:

function TForm.Funcion(const BMP: TBitmap): TBitmap;
var
x,y: Word;
Line1,Line2: PByteArray;
begin
//Crear y asignar BMP
Result:=TBitmap.Create;
Result.Assign(BMP);
//Recorre la imagen línea a línea
for y:=0 to Result.Height-1 do
begin
//Asigna los valores a los punteros
Line1:=BMP.ScanLine[y]; //*
Line2:=Result.ScanLine[y]; //*
//Recorre pixel a pixel
for x:=0 to Result.Width-1 do
begin
//Realiza operaciones
end;
end;
end;

La cuestión es que no sé porqué cuando hace * parece que se hace una copia de la imagen en memoria, y luego al acabar la función esta memoria no se libera y se va acumulando en sucesivas llamadas a la función.

He probado a hacer una copia de la variable de entrada y luego liberarlo con .Free, y así si he conseguido liberar la parte correspondiente de memoria, pero no consigo liberar la correspondiente a Result o a la salida.

¿Cómo podría conseguirlo? ¿Y porqúe si en * asigno punteros se crea una copia de la imagen y ocupa memoria?

Muchas gracias a todos por vuestra ayuda y un saludo.
Responder Con Cita
 


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


La franja horaria es GMT +2. Ahora son las 04:31:10.


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