Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Delphi参考转换为程序C++;建设者 我需要的帮助很少,这里把Delphi转换成C++ Builder 几乎完成转换,但发现一个问题_C++_Delphi_C++builder - Fatal编程技术网

将Delphi参考转换为程序C++;建设者 我需要的帮助很少,这里把Delphi转换成C++ Builder 几乎完成转换,但发现一个问题

将Delphi参考转换为程序C++;建设者 我需要的帮助很少,这里把Delphi转换成C++ Builder 几乎完成转换,但发现一个问题,c++,delphi,c++builder,C++,Delphi,C++builder,delphi文件CloudPopulator.pas TTransferJobVisitor = reference to procedure(const Job: TCloudTransferJob); TCloudTransferManager = class private public procedure ForEachJob(AVisitor: TTransferJobVisitor); end; 使用脚本CloudExplorerUI.pas TCloudTr

delphi文件CloudPopulator.pas

TTransferJobVisitor = reference to procedure(const Job: TCloudTransferJob);

TCloudTransferManager = class
  private
  public
    procedure ForEachJob(AVisitor: TTransferJobVisitor);
  end;
使用脚本CloudExplorerUI.pas

TCloudTransferManager.Instance.ForEachJob(
            procedure(const Job: TCloudTransferJob)
            begin
              if Job.JobType = tjtUPLOAD then
                TransferGrid.Cells[0,I] := 'UPLOAD'
              else
                TransferGrid.Cells[0,I] := 'DOWNLOAD';
            end);
我已转换为C++ Builder:

云填充器

typedef void __fastcall (* TTransferJobVisitor)(const TCloudTransferJob* Job);

class TCloudTransferManager: public System::TObject
{
  private:          
  public:
      void __fastcall ForEachJob(TTransferJobVisitor AVisitor);  
};
如何在C++ Builder

上编写这一部分 我做过这样的东西

struct MyAVisitor
{
    TCloudUIForm* form;
    MyAVisitor(TCloudUIForm *_form) : form(_form) {}
    void operator()(const TCloudTransferJob* Job)
    {
        if (Job->JobType == tjtUPLOAD)
            form->TransferGrid->Cells[0][0] = L"UPLOAD";
        else
            form->TransferGrid->Cells[0][0] = L"DOWNLOAD";
    }
};
但仍然不能确定

typedef TMethodRef<TCloudTransferJob, MyAVisitor, void> MyMethRef;
typedef TMethodRef MyMethRef;

@MBo thnx for repply,我已经建立了你链接的基础,但是仍然需要帮助才能typedef declare(我有更新问题)阅读链接,并按照它所说的做。@MBo thnx for repply,我已经建立了你链接的基础,但仍然需要帮助才能typedef declare(我有更新问题)阅读链接,并按照它所说的做。