下面有些不用声明结构!只是照着把每行语句直接翻译一下为DELPHI语法就行了!谢谢!for(i=0;i<totalprotos;i++)
    {
        if(memcmp(&protoinfo[i].ProviderId,&filterguid,sizeof(GUID))==0)
        {
            layerid=protoinfo[i].dwCatalogEntryId;
            break;
        }
    }    
    filterpathlen=MAX_PATH;
    filterpath=(TCHAR*)GlobalAlloc(GPTR,filterpathlen);  
    for(i=0;i<totalprotos;i++)
    {
        if(nextlayerid==protoinfo[i].dwCatalogEntryId)
        {
            if(WSCGetProviderPath(&protoinfo[i].ProviderId,filterpath,&filterpathlen,&errorcode)==SOCKET_ERROR)
            {
                                       OutputDebugString(_T("WSCGetProviderPath Error!"));  
                return WSAEPROVIDERFAILEDINIT;
            }
            break;
        }

解决方案 »

  1.   

    for i:=0 to totalprotos-1 do
      if AnsiStrLComp(@protoinfo[i].ProviderId,@filterguid,sizeof(GUID))=0 then
      begin
        layerid:=protoinfo[i].dwCatalogEntryId;
        break;
      end;
    filterpathlen:=MAX_PATH;
    filterpath:=GlobalAlloc(GPTR,filterpathlen);  
    for i:=0 to totalprotos-1 do
       if nextlayerid=protoinfo[i].dwCatalogEntryId then
       begin
         if WSCGetProviderPath(@protoinfo[i].ProviderId,filterpath,
               @filterpathlen,@errorcode)=SOCKET_ERROR then
         begin
           OutputDebugString('WSCGetProviderPath Error!');  
           return WSAEPROVIDERFAILEDINIT;
         end;
         break;
       end;