Обычный способ объявить интерфейс из внешней DLL в C - это представить его интерфейс в заголовочном файле .H. Затем для доступа к DLL из C заголовочный файл .H должен быть #include
d в исходном коде C.
В переводе на термины Delphi необходимо создать файл модуля, который описывает тот же интерфейс в терминах паскаля, переводя синтаксис c в паскаль.
Для вашего случая вы должны создать файл, такой как ...
unit xyzDevice;
{ XYZ device Delphi interface unit
translated from xyz.h by xxxxx -- Copyright (c) 2009 xxxxx
Delphi API to libXYZ - The Free XYZ device library --- Copyright (C) 2006 yyyyy }
interface
type
TXyzDeviceType = integer;
const
xyzDll = 'xyz.dll';
XYZ_DEVICE_PCI = 1;
XYZ_DEVICE_USB = 2;
function XyzDeviceStatus ( kind : TXyzDeviceType ) : integer; stdcall;
external xyzDLL; name 'DeviceStatus';
implementation
end.
И вы бы объявили это в предложении uses
вашего исходного кода. И вызвать функцию следующим образом:
uses xyzDevice;
...
case XyzDeviceStatus(XYZ_DEVICE_USB) of ...