TThread idhttp image TList 组合IN FMX 出错
TList*ImageObj;
ThreadDownImage::Execute()
{
//IdHTTP1=new TIdHTTP(pForm);
//pForm->IdHTTP1->HandleRedirects=true;
//pForm->IdHTTP1->ReadTimeout=2000;
//pForm->IdHTTP1->ConnectTimeout=2000;
pForm->IdHTTP1->OnWork=IdHTTP1Work;
pForm->IdHTTP1->OnWorkBegin=IdHTTP1WorkBegin;
int i=pForm->ImagePart->Count;
if(i>0){
UnicodeString P;
for(int j=0;j<i;j++)
{
Count=j;
Synchronize(UpdateText);
P= pForm->ImagePart->Strings[j];
try{
ImageMemory=new TMemoryStream();
pForm->IdHTTP1->Get(P,ImageMemory);
pForm->ImageObj->Add(ImageMemory);
}
catch(Exception &e){
Synchronize(UpdateCaption);
}
}
Synchronize(UpdateButton);
}
delete IdHTTP1;
FreeOnTerminate=true;
}
pFrom窗口BUTTON函数内存出错;
TMemoryStream *ImageMemory=(TMemoryStream *)ImageObj->Items[ImageIndex];
Image1->BeginUpdate();
Image1->Bitmap->LoadFromStream(ImageMemory);
Image1->EndUpdate();
尝试过
try{
ImageMemory=new TMemoryStream();
pForm->IdHTTP1->Get(P,ImageMemory);
Fmx::Graphics::TBitmap*p=new Fmx::Graphics::TBitmap(ImageMemory);
pForm->ImageObj->Add(p);
}
catch(Exception &e){
Synchronize(UpdateCaption);
}
pFrom窗口BUTTON函数;
Fmx::Graphics::TBitmap*p=(Fmx::Graphics::TBitmap *)ImageObj->Items[ImageIndex];
Image1->BeginUpdate();
Image1->Bitmap=p;
Image1->EndUpdate();
程序卡在这里 Fmx::Graphics::TBitmap*p=new Fmx::Graphics::TBitmap(ImageMemory);