C++新人请大神指教:E2090 Qualifier 'TIdURI' is not a class or namespace name 如何解决

火云2010 2017-10-24 02:08:34
先说下背景情况:我以前是搞C#的,C++基本小白。最近被老板拉了壮丁来接手前任程序员留下的一个C++项目,由于前任两年前离职(即是说项目中断了2年,现任老板现在想恢复),而且当时走得不愉快,无任何交接和文档,程序也是各种残缺报错的,导致我现在十分苦逼。
回到问题,请大家帮忙看一下这里是少了什么BCB插件?还是少了什么引用?

贴出代码:
char* WINAPI DownloadFile(char* fileUrl, int& iResult)
{
iResult = 0;
TIdHTTP * IdHTTP1;

TMemoryStream* pMemoStream = NULL;
AnsiString strFileURL = AnsiString(fileUrl);
int iLast = strFileURL.LastDelimiter("/");
AnsiString fileName = strFileURL.SubString(iLast+1, strFileURL.Length()-iLast);
strFileURL = TIdURI::URLEncode(NULL,strFileURL);
try
{
IdHTTP1 = new TIdHTTP(NULL);
pMemoStream = new TMemoryStream();
if(IdHTTP1->Connected())
IdHTTP1->Disconnect();
IdHTTP1->Get(strFileURL,pMemoStream);
pMemoStream->SaveToFile(fileName);
delete pMemoStream;
pMemoStream=NULL;
}
catch(Exception &e)
{

if (IdHTTP1!=NULL)
{
delete IdHTTP1;
IdHTTP1 = NULL;
}
if (pMemoStream!=NULL)
{
delete pMemoStream;
pMemoStream=NULL;
}
SSDWriteLog(" Call DownloadFile Error;"+ e.Message);
}


return NULL;

}
...全文
817 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
火云2010 2017-11-07
  • 打赏
  • 举报
回复
10楼回复是正确的,谢谢各位,散分.
weixin_39416327 2017-11-05
  • 打赏
  • 举报
回复
在TIdURI 下没有URLEncode()函数呀, 然后就报定义错误 如下就不会报错 strFileURL = Idglobal::URLEncode(strFileURL); 我刚接触BCB6,不知道对不对,慎重啊HH
weixin_39416327 2017-11-05
  • 打赏
  • 举报
回复
strFileURL = URLEncode(strFileURL);
  • 打赏
  • 举报
回复
啊,忘了这是CB了,"xxx"
  • 打赏
  • 举报
回复
indy9的TIdURI就没有URLEncode方法,要么你手动安装indy10,要么直接操作TIdURI::URI属性。实际上就你这部分代码来看,就没必要使用TIdURI,直接IdHTTP1->Get(‘xxx’,pMemoStream);就可以。
ooolinux 2017-10-31
  • 打赏
  • 举报
回复
查一查TIdURI 类的方法。
火云2010 2017-10-31
  • 打赏
  • 举报
回复
是用的BCB 6.0 , 按2楼的方法,完全重装也试过了,问题没有解决,依然是这个地方报错
  • 打赏
  • 举报
回复
那你用的应该是indy9,没有这个方法,indy9到indy10变化很大。
火云2010 2017-10-27
  • 打赏
  • 举报
回复
Indy是BCB安装后单独安装的,但是确实没有看到IdURI这个控件。 头文件中增加了#include <IdURI.hpp>,报错变成下面这样。
  • 打赏
  • 举报
回复
#include <IdURI.hpp>
ooolinux 2017-10-25
  • 打赏
  • 举报
回复
TIdURI = class Description The TIdURI object parses a URI specified in the Create constructor into its components: Protocol, Host, Port, Path, Document, and Bookmark. You may also modify the URI using object properties. 楼主用的是什么版本的CB?如果是BCB 6.0,你可能没有完整安装,完全安装(自定义安装方式)以后是有Indy系列类/控件的。

13,824

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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