c#到Delphi的翻译/转换器

本文关键字:转换器 翻译 Delphi | 更新日期: 2023-09-27 18:10:55

是否有网站,我可以翻译下面的代码到Delphi。:

       var newpin = new IntPtr();

       newpin = Marshal.AllocHGlobal(8); // what is this function?
       retcode = Namespace.CashierCardInstallation("1234", ref newpin); // static method
       if (retcode != 0)
       {
           MessageBox.Show("installation failed");
       }

       var pin = new byte[8];
       Marshal.Copy(newpin, pin, 0, 8); // what is this function?

或者这些带注释的方法在delphi中的等效是什么?谢谢你!

c#到Delphi的翻译/转换器

它只是使用AllocHGlobal分配非托管内存,Marshal执行纯内存复制。在Delphi中,您不需要任何这些,因为您已经有了本机内存。

var
  retcode: Integer;
  Pin: array [0..7] of Byte;//or whatever the underlying data type is
begin
  retcode := Namespace.CashierCardInstallation('1234', @Pin);
  if retcode <> 0 then
  begin
    ShowMessage("installation failed");
  end;
end;