FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Por que me da este error?
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.
Seguro que es una tonteria pero no se porque no funciona. Muchas gracias. Toni |
#2
|
||||
|
||||
Wop!
Si pones el código que estás usando quizá se te pueda ayudar más fácilmentes. A parte de esto, intenta pensar un poquito los títulos de tus post.... ¡"Por que me da este error?" no es demasiado descriptivo!
__________________
E pur si muove |
#3
|
|||
|
|||
Perdon, es que no he puesto demasiados mensanes. De echo, el codigo es el que me diste tu en otro post.
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 mikroton. Salu2 y muchas gracias. Toni |
|
|
|