一个BCB问题如果定义线程数组!(100分)

  • 主题发起人 主题发起人 xhqian
  • 开始时间 开始时间
X

xhqian

Unregistered / Unconfirmed
GUEST, unregistred user!
在程序中定义了一个线程,然后我想定义一个线程数组时总是出错。在程序中定义的
线程名为infoTJ,然后我在主线程的头文件的PUBLIC中定义:infoTJ *xc[100];总是
出错,请问该如何定义!
 
究竟是什么错误啊?
你没有把线程Unit包进主线程中吧???
 
我已经把头文件包进去了!
1.定义(thread.cpp)的线程:
#inclde "infoMain.h"
//---------------------------------------------------------------------------
__fastcall infoTJ::infoTJ(int Number,AnsiString bh,AnsiString Buf,AnsiString URL,AnsiString flag,bool CreateSuspended)
: TThread(CreateSuspended)
{
ThreadNumber=Number;
FBuf=Buf;
FURL=URL;
BH=bh;
fflag=flag;
Success=TRUE;
}
//---------------------------------------------------------------------------
void __fastcall infoTJ::Execute()
{
Datain=new TMemoryStream;
Dataout=new TMemoryStream;
HttpCli=new THttpCli(NULL);
FreeOnTerminate=True;
Datain->Clear();
Dataout->Clear();
HttpCli->MultiThreaded=True;
Synchronize(Proxy);
Dataout->Write(FBuf.c_str(),FBuf.Length());
Dataout->Seek(0, soFrombegin
ning);
HttpCli->SendStream=Dataout;
HttpCli->RcvdStream=Datain;
HttpCli->URL=FURL;
try
{
HttpCli->Post();
Success=True;
}
catch(...)
{
Success=False;
}
Synchronize(UpdateStatus);
Dataout->Free();
Datain->Free();
HttpCli->Free();
//---- Place thread code here ----
}
//---------------------------------------------------------------------------
void __fastcall infoTJ::Proxy()
{
if(Form2->FlatEdit14->Text!="")
{
HttpCli->Proxy=Form2->FlatEdit14->Text;
HttpCli->ProxyPort=Form2->FlatEdit15->Text;
HttpCli->ProxyUsername=Form2->FlatEdit16->Text;
HttpCli->ProxyPassword=Form2->FlatEdit17->Text;
}
}
//---------------------------------------------------------------------------
void __fastcall infoTJ::UpdateStatus()
{
if(Success)
{
Datain->Seek(0,0);
Form1->FlatMemo2->Text="";
Form1->FlatMemo2->Lines->LoadFromStream(Datain);
}
Form1->ProcessResults(ThreadNumber,Success,BH,fflag);
}
//---------------------------------------------------------------------------
2.在主线程的头文件(infoMain.h)中我的定义为:
#include "thread.h"
然后
infoTJ *ThreadsObjects[10];//*****这时出错了!*****
 
这个问题我已经解决,请问如果在主程序中调用线程中创建对象的方法!
 
好像要用一個函數,你一下bcb 自代的例子
 
头文件循环调用!
 
呵呵 有点佝噢[:p]
 
后退
顶部