如何动态创建TIdHTTP 控件?

hyllt 2002-11-28 10:26:55
我想在程序中动态的创建一组TIdHTTP控件 ?用new 去发现 没有constructor 帮助里有create函数 但是在程序中不能用
...全文
97 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
itperson 2003-02-21
  • 打赏
  • 举报
回复
包含文件了嘛?
invalid 2002-11-28
  • 打赏
  • 举报
回复
下面是我在线程中创建。
__fastcall TPHttpThread::TPHttpThread(bool CreateSuspended)
: TThread(CreateSuspended)
{
HTTP=new TIdHTTP(NULL);
this->FreeOnTerminate = true;
}
__fastcall TPHttpThread::~TPHttpThread()
{
if(HTTP)
delete HTTP;
}
//---------------------------------------------------------------------------
void __fastcall TPHttpThread::Execute()
{
while(!Terminated)
{
try
{
this->Test();
}
catch(...)
{
}
Sleep((unsigned long)(tc.Intelval*1000));
// this->Suspend();
}
}
//---------------------------------------------------------------------------
int __fastcall TPHttpThread::Test()
{
//Indy9 TidHttp的代理相关的属性,统一放到了ProxyParams下面
//如果您使用的是Indy8 可能不能编译,请把ProxyParams->去掉
HTTP->ProxyParams->BasicAuthentication = tc.BasicAuthentication;
HTTP->ProxyParams->ProxyServer = tc.ProxyServer;
HTTP->ProxyParams->ProxyPort = tc.ProxyPort;
HTTP->ProxyParams->ProxyUsername = tc.ProxyUsername;
HTTP->ProxyParams->ProxyPassword = tc.ProxyPassword;

bFlag = true;
try
{
//获得指定地址的HTML头也可以采用下面的获得指定地址的HTML文本
HTTP->Head(tc.ServerAddress);
Message = HTTP->Response->ContentType;
//获得指定地址的HTML文本
// Message = HTTP->Get(tc.ServerAddress);

Synchronize(Msg);
Message = tc.ServerAddress+"可以打开了!";
PostMessage(Form1->Handle,WM_MYMESSAGE,(WPARAM)((Message).c_str()),0);
}
catch(Exception &e)
{
Message = e.Message;
bFlag = false;
Synchronize(Msg);
}
return bFlag?0:-1;
}

void __fastcall TPHttpThread::Msg()
{
Form1->Msg(bFlag,Message);
}

hyllt 2002-11-28
  • 打赏
  • 举报
回复
那位大侠 帮忙了

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧