procedure TForm2.BtnConnectClick(Sender: TObject);
begin
  form2.IdTCPServer1.Bindings.Add.IP :='127.0.0.1';
  form2.IdTCPServer1.Bindings.Add.Port:=3030;
  LbLog.Items.Add('服务器已成功启动!');
end;一运行就报错
错误信息: Access violation at address 00476148 in module 'PFILETRANS.exe'.Read of address 00000320

解决方案 »

  1.   

      form2.IdTCPServer1.Bindings.Add.IP :='127.0.0.1';
      form2.IdTCPServer1.Bindings.Add.Port:=3030;
    这两行有问题,本来就是TForm2里的,不要加form2,直接写成:
      IdTCPServer1.Bindings.Add.IP :='127.0.0.1';
      IdTCPServer1.Bindings.Add.Port:=3030;
      

  2.   

    var
    ISH : TIdSocketHandle;beginISH := IdTCPServer1.Bindings.Add;
    ISH.IP := '127.0.0.1';
    ISH.Port := 3030;end
    楼主的写法,等于调用二次 Add 建立了二条记录,一条有IP无端口,另一条有端口无IP,这样的代码打开时不报错才是奇怪。