自定义的进程放类中使用会报错,直接放form中正常

自定义的过程放类中使用会报错,直接放form中正常。
以下过程我放在一个没有窗体的pas中,用来做公共过程,方便操作,引用了idhttp单元。

procedure JsXz(XzName,BdName:string);
var
  tStream: TMemoryStream;
  idhttp1:TIdhttp;
begin
  tStream :=TMemoryStream.Create;
  idhttp1.Get(XzName,tStream);
  tstream.SaveToFile(BdName);  //ExtractFilePath(paramstr(0))为当前路径
  tstream.Free;
end;

在form1中执行上面的下载过程报错,大意是idhttp1没创建的意思。但是这个过程我直接写在form1中执行侧正常,请问要如处理呢?谢谢
------解决方案--------------------
当然报错!!你根本没有:idhttp1:=TIdhttp.Create();!!