Error usando TMemoryStream
Hola, al ejecutar mi aplicacion me da una excepcion, una violacion de acceso a memoria justo al ejecutar Str.Write(p,tamanyo), donde p es un puntero (pointer) al inicio de donde teno en memoria una imagen y tamanyo es el tamaño de la imagen. Previamente he hecho Tamanyo:=sFormat.lFrameSize; Los valores qeu he pasado (tamaño y puntero) son correctos, y sFormat es de tipo TMemoryStream.
El codigo que uso es el siguiente
procedure CargaImagen(p: pointer; Tamanyo: Integer; AImage: TImage)
var
Str: TMemoryStream;
begin
Str := TMemoryStream.Create;
try
Str.Write(p, Tamanyo);
AImage.Picture.Bitmap.LoadFromStream(Str);
finally
Str.Free;
end;
end;
Tanto el tamaño como el puntero los saco de funciones asociadas a la dll de la tarjeta grafica con la que estoy trabajando, una inspecta de mikrotron.
Salu2 y muchas gracias.
Toni
|