hexx 2025-05-23 11:11 采纳率: 0%
浏览 14

请把 delphi 函数,改为 c++ builder 函数

请把以下 delphi 函数,改为 c++ builder 函数:


procedure TMiniBrowserFrm.ReplaceAcceptEncoding(const aRequest : ICefRequest);
const
  ACCEPT_ENCODING_HEADER = 'Accept-Encoding';
var
  TempOldMap, TempNewMap : ICefStringMultimap;
  i : NativeUInt;
begin
  try
    TempNewMap := TCefStringMultimapOwn.Create;
    TempOldMap := TCefStringMultimapOwn.Create;
    aRequest.GetHeaderMap(TempOldMap);

    i := 0;
    while (i < TempOldMap.Size) do
      begin
        if (CompareText(TempOldMap.Key[i], ACCEPT_ENCODING_HEADER) <> 0) then
          TempNewMap.Append(TempOldMap.Key[i], TempOldMap.Value[i]);

        inc(i);
      end;

    TempNewMap.Append(ACCEPT_ENCODING_HEADER, 'gzip');

    aRequest.SetHeaderMap(TempNewMap);
  finally
    TempNewMap := nil;
    TempOldMap := nil;
  end;
end;
  • 写回答

7条回答 默认 最新

  • 阿里嘎多学长 2025-05-23 11:11
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    C++ Builder 版本

    void __fastcall TMiniBrowserFrm::ReplaceAcceptEncoding(const System::UnicodeString& aRequest)
    {
        // 你的代码逻辑
    }
    

    注意:在 C++ Builder 中,函数名的前缀是 __fastcall,而不是 procedure。同时,参数的类型也需要使用 System::UnicodeString 来表示 Unicode 字符串。

    评论

报告相同问题?

问题事件

  • 创建了问题 5月23日