Вы можете использовать предопределенные типы WinAPI:
// C definition
short foo(variant* a, longlong* b, short* c);
// Delphi definition
function foo(var a: OleVariant;
var b: LongLong;
var c: Smallint); Smallint;
procedure FooTest;
var
a: OleVariant;
b: LongLong;
c, RetVal: ShmallInt;
begin
Retval := foo(a, b, c);
end;
LongLong
определено в Windows.pas
вместе со многими другими типами, совместимыми с WinAPI.(По крайней мере, они находятся в Windows
подразделении через Delphi XE; XE2, возможно, переместил некоторые из них из-за кроссплатформенного и 64-битного перемещения.)
// Windows.pas definition (Delphi 2010)
type
LONGLONG = int64;
Как Дэвид продолжает упоминатьв комментариях ниже longlong
не является стандартным типом данных C ++.Однако, основываясь на комментариях, относящихся к параметрам в вашем обновлении, это точно , как и предполагал разработчик C ++, и, следовательно, определение WinAPI совместимо (и сохраняет то же имя для согласованности в целях документации).