Delphi 获取停止执行

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

我正在开发一个.dll文件(更具体地说是一个浏览器帮助对象-BHO)。我需要在一个TXT文件中接收一些设置。为了读取这个TXT文件,我使用了IdHTTP,但是当我这样做的时候。进入TXT地址,它就停止了一切。我将在下面粘贴代码:

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';