delphi - Why do I get an access violation when assigning a JPEG to an array of TJPEGImages? -


  formulae: array [1..6] of tjpegimage; 

i have array in want assign images can display them onto form. i've used similar code jpeg data-stream timage question access violation error message @ if statement

procedure tfrm_calc2.changedisplay(imgno: integer; newimage: boolean); var   tempimg: tjpegimage; begin   tempimg:= tjpegimage.create;   tempimg.loadfromfile('c2f'+inttostr(imgno)+'.jpg');   img_formulae.picture.assign(tempimg);   // assigning each picture element in array if first time. used save pictures later on   if newimage = true formulae[imgno].assign(tempimg);     tempimg.free;   imgdisplayed:= imgno;    lbl_formuladisplay.caption:= 'formula ' + inttostr(imgno); //user can see formula can seen end; 

thanks.

did populate array allocated objects before calling assign on them? not. try more instead:

procedure tfrm_calc2.changedisplay(imgno: integer); var   tempimg: tjpegimage; begin   tempimg := tjpegimage.create;   try     tempimg.loadfromfile('c2f'+inttostr(imgno)+'.jpg');     img_formulae.picture.assign(tempimg);      if formulae[imgno] = nil     begin       formulae[imgno] := tempimg;       tempimg := nil;     end else       formulae[imgno].assign(tempimg);       tempimg.free;   end;   imgdisplayed := imgno;   lbl_formuladisplay.caption := 'formula ' + inttostr(imgno); end; 

alternatively:

procedure tfrm_calc2.changedisplay(imgno: integer); var   tempimg: tjpegimage; begin   tempimg := tjpegimage.create;   try     tempimg.loadfromfile('c2f'+inttostr(imgno)+'.jpg');     img_formulae.picture.assign(tempimg);      freeandnil(formulae[imgno]);     formulae[imgno] := tempimg;   except     tempimg.free;     raise;   end;   imgdisplayed := imgno;   lbl_formuladisplay.caption := 'formula ' + inttostr(imgno); end; 

Comments

Popular posts from this blog

Command prompt result in label. Python 2.7 -

javascript - How do I use URL parameters to change link href on page? -

amazon web services - AWS Route53 Trying To Get Site To Resolve To www -