PDA

Ver la Versión Completa : Error con FastReport


JoseQ
29-07-2004, 18:44:12
Buenas, intento crear un informe por codigo k me muestre una serie de imagenes(contenidas en un directorio) y su nombre de archivo(contenidos en una base de datos) utlizo el siguiente codigo, pero me da un error de violacion de memoria en la carga de la imagen


procedure TInformes.Button7Click(Sender: TObject);
var
v: TfrView;
c: tfrpictureview;
b: TfrBandView;
Page: TfrPage;
begin
frReport1.Pages.Clear;
frReport1.Pages.Add; // create page
Page := frReport1.Pages[0];
b := TfrBandView(frCreateObject(gtBand, '')); // create MasterData band
b.SetBounds(0, 20, 0, 20); //Left, Top, Width, Height
b.BandType := btMasterData;
b.Dataset := 'frDBDataSet1';
Page.Objects.Add(b);
c.Picture.Graphic.LoadFromFile (unit1.rutat + moduloimagenes.fotosNombre.Value) ;
c.SetBounds(20, 20, 100, 100) ;
v := frCreateObject(gtMemo, '') ; // create data field
v.SetBounds(130, 20, 50, 16) ;
v.Memo.Add('[moduloimagenes.fotos."Nombre"]') ;
page.Objects.Add(c) ;
Page.Objects.Add(v) ;
frReport1.ShowReport ;
end;



alguna sugerencia ?¿?¿?¿?¿?¿?

jachguate
29-07-2004, 19:51:08
No veo que hallas creado o asignado una instancia existente de TfrPictureView a c... por lo tanto, a la hora de tratar de cargar la imágen, c apunta a nil, ¿no?

Hasta luego.

;)

JoseQ
30-07-2004, 11:29:43
te refieres a un constructor para c ?

jachguate
30-07-2004, 11:39:23
te refieres a un constructor para c ?

No. Me refiero a la creación de una instancia del objeto, en delphi. Invocando, claro, a un constructor... pero de delphi.

Es recomendable que leas algún libro sobre delphi, y la programación orientada a objetos. No recuerdo exactamente la tabla de contenido... pero me parece que "la cara oculta de delphi" de Ian Marteens (http://www.marteens.com) toca el tema, lo suficiente para que si ya has oido hablar de POO podás trabajar cómodamente con delphi.

El libro para delphi 4, también está disponible para descarga, totalmente gratis, en la web del autor.

Hasta luego.

;)