未使用Indy库IdHttp.Request.Post(字符串,TIdStream)声明TIdStream,无法识别IdObjs和IdBaseObjs命名空间

xyhw6mcr  于 2022-10-16  发布在  SEO
关注(0)|答案(1)|浏览(151)

以下位置提供了重载的Post方法的列表:
http://www.indyproject.org/docsite/html/frames.html?frmname=topic&frmfile=%21%21OVERLOADED_Post_TIdCustomHTTP.html
IDE正在拒绝TIdStream类型变量的声明:

function TVClientCall<T, I>.ExecuteCall(pURL: string; pDataParams: string): string;
var
  vRequestStream: TStringStream;
  vTIDRequestStream: TIdStream;

。。
Indy文档将其放在IdObjs.pas库中,而XE6中似乎不存在该库?
IdObjs是其他库之一的子命名空间吗?如果是这样的话--哪一个?TIdStream是抽象的吗?如果是,我应该使用哪个子类类型?

pjngdqdw

pjngdqdw1#

TIdStream不再在任何地方声明。它也没有被使用过。TIdCustomHTTP.Post的声明现在使用普通老式TStream

procedure Post(AURL: string; ASource, AResponseContent: TStream); overload;

我指的是latest development snapshot(5161)。在线文档显然没有更新,以反映新的流媒体政策。
我通过对TIdStreams*=的源代码进行正则表达式搜索了解到了这一点。我什么都没有找到,然后转到IdHTTP.pas中的TIdCustomHTTP声明。
TStream是抽象的;您不能直接示例化它。使用任何适合您需要的子类。常见选项包括TFileStreamTMemoryStreamTStringStream

相关问题