为什么以下代码不能起作用?procedure TForm1.Button1Click(Sender: TObject);
var
    sptr:Pservent;
begin
    sptr:=getservbyname('smtp','tcp');
    if sptr<>nil then
    begin
        showmessage(inttostr(sptr^.s_port));
    end
    else
   begin
        ShowMessage('can''t get!');
    end;
end;

解决方案 »

  1.   

    我知道错误在哪里了。应该是这样的:procedure TForm1.Button1Click(Sender: TObject);
    var
        sptr:PServent;
        GInitData:WSADATA;
    begin
        WSAStartup(2,GInitData);
        //GetHostName(Buffer,Sizeof(Buffer));
        sptr:=GetServByName('smtp','tcp');
        if sptr<>nil then
        begin
            ShowMessage(inttostr(ntohs(sptr^.s_port)));
        end
        else
       begin
            ShowMessage('can''t get hostent');
        end;    WSACleanup;
    end;
      

  2.   

    为什么要转到Delphi,不可思议
      

  3.   

    真是不可思议,我还想转java呢
      

  4.   

    真是不可思议,我还想转java呢
      

  5.   

    我现在是从Delphi转到JAVA、UNIX、C++,你为什么要转啊?
    我都做了5年Delphi了。
      

  6.   

    不是说搞java ,vc都比高delphi 有前途吗,兄弟你怎么逆转了呀。
      

  7.   

    我只会Delphi和Java估计以后日子不好混  ^_^