DELPHI如何判断创建对象不成功则创建另外一个对象
varArr:array[0..2]ofstring;Tmp:string;i:Integer;HttP:Variant;beginresult:='';Http:=Cr...
var
Arr: array[0..2] of string;
Tmp: string; i: Integer;
HttP: Variant;
begin
result := '';
Http := CreateOleObject('Msxml2.ServerXMLHTTP'); //优先采用无缓存的
if Http = 0 then //判断 创建的HTTP对象不成功则执行创建下一个对象
begin
Http := CreateOleObject('Msxml2.XMLHTTP');
if Http = 0 then //判断 创建的HTTP对象不成功则执行创建下一个对象
begin
Http := CreateOleObject('Microsoft.XMLHTTP');
if Http = 0 then //判断 创建的HTTP对象不成功则执行创建下一个对象
begin
Http := CreateOleObject('WinHttp.WinHttpRequest.5.1');
if Http = 0 then //判断 创建的HTTP对象不成功则退出
Exit;
end;
end;
end;
我的想法是,创建HTTP 对象,然后判断对象是否创建成功,不成功则执行创建另外一个对象
依次类推, 展开
Arr: array[0..2] of string;
Tmp: string; i: Integer;
HttP: Variant;
begin
result := '';
Http := CreateOleObject('Msxml2.ServerXMLHTTP'); //优先采用无缓存的
if Http = 0 then //判断 创建的HTTP对象不成功则执行创建下一个对象
begin
Http := CreateOleObject('Msxml2.XMLHTTP');
if Http = 0 then //判断 创建的HTTP对象不成功则执行创建下一个对象
begin
Http := CreateOleObject('Microsoft.XMLHTTP');
if Http = 0 then //判断 创建的HTTP对象不成功则执行创建下一个对象
begin
Http := CreateOleObject('WinHttp.WinHttpRequest.5.1');
if Http = 0 then //判断 创建的HTTP对象不成功则退出
Exit;
end;
end;
end;
我的想法是,创建HTTP 对象,然后判断对象是否创建成功,不成功则执行创建另外一个对象
依次类推, 展开
3个回答
展开全部
把 CreateOleObject 函数改造一下就行了
function CreateOleObject(const ClassName: string; var isSuccess: Boolean): IDispatch;
var
ClassID: TCLSID;
begin
try
isSuccess := false;
ClassID := ProgIDToClassID(ClassName);
{$IFDEF CPUX86}
try
Set8087CW( Default8087CW or $08);
{$ENDIF CPUX86}
isSuccess := Succeeded(CoCreateInstance(ClassID, nil, CLSCTX_INPROC_SERVER or
CLSCTX_LOCAL_SERVER, IDispatch, Result));
{$IFDEF CPUX86}
finally
Reset8087CW;
end;
{$ENDIF CPUX86}
except
end;
end;
使用
var
HttP: Variant;
succ: Boolean;
begin
HttP := CreateOleObject('Msxml2.ServerXMLHTT1P', succ);
if succ = False then
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用try except吧,有异常发生就说明不成功。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
assigned判断就行了
追问
if Assigned(http) then 吗,这样报错哦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询