用ADO连接本土mdb文件,想把文件中图片字段的图片显示在报表的picture控件中,提示jpeg error#52
用ADO连接本地mdb文件,想把文件中图片字段的图片显示在报表的picture控件中,提示jpeg error#52
TADOBlobStream* pmem=new TADOBlobStream(pField,bmRead);
pmem->Position = 0;
pmem->SaveToFile("d:\\temp.jpeg");
测试结果是获取的流是正确的,但是在下边代码中报表控件显示时,提示jpeg error 52,是怎么回事,大神们给指导下吧
TfrxPictureView* Picture1 = (TfrxPictureView*)frxReport1->FindObject("Picture1");
Picture1->Picture->Graphic = new TJPEGImage;
Picture1->Picture->Graphic->LoadFromStream(pmem);
------解决方案--------------------
没用过你说的这个报表控件和它里面的picture控件,
pmem->Position = 0;
pmem->SaveToFile("d:\\temp.jpeg");
Picture1->Picture->Graphic->LoadFromFile("d:\\temp.jpeg");// 能正常显示么
------解决方案--------------------
你把语句逐个移到外面去看到底是那句出错:
try
{
TStream* Stream = tbl1->CreateBlobStream(tbl1->FieldByName("Fld11"), bmRead); // 逐个移到外面去
Stream->Position = 0;
TfrxPictureView* Picture1 = (TfrxPictureView*)frxReport1->FindObject("Picture1");
Picture1->Picture->Graphic = new TJPEGImage;
Picture1->Picture->Graphic->LoadFromStream(Stream);
delete Stream;
}
catch(...)
{
//MessageBox(NULL,"图片显示有误","Message",MB_OK);
}
TADOBlobStream* pmem=new TADOBlobStream(pField,bmRead);
pmem->Position = 0;
pmem->SaveToFile("d:\\temp.jpeg");
测试结果是获取的流是正确的,但是在下边代码中报表控件显示时,提示jpeg error 52,是怎么回事,大神们给指导下吧
TfrxPictureView* Picture1 = (TfrxPictureView*)frxReport1->FindObject("Picture1");
Picture1->Picture->Graphic = new TJPEGImage;
Picture1->Picture->Graphic->LoadFromStream(pmem);
------解决方案--------------------
没用过你说的这个报表控件和它里面的picture控件,
pmem->Position = 0;
pmem->SaveToFile("d:\\temp.jpeg");
Picture1->Picture->Graphic->LoadFromFile("d:\\temp.jpeg");// 能正常显示么
------解决方案--------------------
你把语句逐个移到外面去看到底是那句出错:
try
{
TStream* Stream = tbl1->CreateBlobStream(tbl1->FieldByName("Fld11"), bmRead); // 逐个移到外面去
Stream->Position = 0;
TfrxPictureView* Picture1 = (TfrxPictureView*)frxReport1->FindObject("Picture1");
Picture1->Picture->Graphic = new TJPEGImage;
Picture1->Picture->Graphic->LoadFromStream(Stream);
delete Stream;
}
catch(...)
{
//MessageBox(NULL,"图片显示有误","Message",MB_OK);
}