首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

用ADO连接本土mdb文件,想把文件中图片字段的图片显示在报表的picture控件中,提示jpeg error#52

2014-01-03 
用ADO连接本地mdb文件,想把文件中图片字段的图片显示在报表的picture控件中,提示jpeg error#52TADOBlobStr

用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);

                }

热点排行