0

是否有网站可以将下面的代码翻译成 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等价物是什么?谢谢!

4

1 回答 1

3

它只是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;
于 2013-04-26T09:56:15.457 回答