Delphi 获取停止执行
我正在开发一个.dll文件(更具体地说是一个浏览器帮助对象-BHO)。我需要在一个TXT文件中接收一些设置。为了读取这个TXT文件,我使用了IdHTTP,但是当我这样做的时候。进入TXT地址,它就停止了一切。我将在下面粘贴代码:Delphi 获取停止执行,delphi,delphi-2010,bho,idhttp,Delphi,Delphi 2010,Bho,Idhttp,我正在开发一个.dll文件(更具体地说是一个浏览器帮助对象-BHO)。我需要在一个TXT文件中接收一些设置。为了读取这个TXT文件,我使用了IdHTTP,但是当我这样做的时候。进入TXT地址,它就停止了一切。我将在下面粘贴代码: procedure TMyClass.ReadTXT; function LoadTxt(HTTP: TidHTTP; Body: TStringList; URLTxt: string): boolean; begin try
procedure TMyClass.ReadTXT;
function LoadTxt(HTTP: TidHTTP; Body: TStringList; URLTxt: string): boolean;
begin
try
Body.Text:= HTTP.Get(URLTxt);
Result := true;
except
Result := false;
end;
end;
var
HTTP: TidHTTP;
Body: TStringList;
ValidTXT: boolean;
Line: string;
i, aux: integer;
begin
HTTP := TIDHttp.Create(Nil);
try
HTTP.ConnectTimeout:= 5000;
HTTP.Request.UserAgent:= 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1';
Body := TStringList.Create;
try
ValidTXT := false;
i := 0;
while (ValidTXT = false) and (i < TXTs.Count) do
begin
if (LoadTXT(HTTP, Body, TXTs.Strings[i]) = true) and (Body.Count > 0) then
begin
...
end;
.Get方法不起作用。。。如果有人能向我澄清这一点,我将非常感谢。我认为很好地告诉大家,在一个.exe文件中,同样的过程工作正常。它给出了这个错误,现在我把我的BHO的.dll…你学到了什么,当你附加你的调试器?它应该很容易告诉你程序挂起的位置。很抱歉,因为这是一个连接到Internet Explorer的DLL,我只是不知道如何使用调试器。。。我会尽力弄清楚的。这里有些奇怪的东西。。。我正在使用regsvr32将DLL注册为BHO。在WinXP上,当我将此过程放入要使用的dll中时,regsvr32停止响应。如果我对此过程进行注释,它将成功注册。。。我只是不明白这个过程有什么问题。调用
Get()
时URLTxt
的实际值是多少?DLL的注册码运行时是否调用了ReadTxt()
?
HTTP.ConnectTimeout:= 10000;
HTTP.Request.UserAgent:= 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1';