i'm writing code multithreading with C++ Builder 2006 like this.
Code: Select all
// Unit1.h ----------------------------------------------------------
class TImageThread : public TThread
{
public:
__fastcall TImageThread(void);
private:
void __fastcall Execute(void);
void __fastcall load(void);
};
//Unit1.cpp
TImageThread *thread;
//-------------------------------------------------------------------
void __fastcall TImageThread::Load()
{
int ret = Form1->GdViewer1->DisplayFromFile(L"C:\\0000.jpg");
}
//-------------------------------------------------------------------
__fastcall TCountThread::TImageThread(void) : TThread(true)
{
FreeOnTerminate = true;
Resume();
}
//-------------------------------------------------------------------
void __fastcall TCountThread::Execute(void)
{
Synchronize((TThreadMethod)&Load);
}
//-------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
thread = new TImageThread;
}
//-------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
thread->Terminate();
}
//-------------------------------------------------------------------
DisplayFromURL return code '0' and I cann see image.