Подскажите, люди добрые. Пытаюсь использовать драйвер весов от Mettler Toledo. Представляет из себя кучку библиотек, из одной из которых вызывается нужная мне функция (цитата из документации):
Код:
ireturn = Transfer_Ethernet_EX(“Transscale.ini”,251245664)
В реале вызвать ее получилось лишь по имени _Transfer_Ethernet_EX@8, ну да не в этом даже дело. Нашел пример использования этой функции на Си++, подключение и вызов выглядят так:
Код:
extern "C" __declspec(dllimport) unsigned __stdcall Transfer_Ethernet_EX(char *cTrfTxtout , int key);
Код:
unsigned iback=Transfer_Ethernet_EX("Transscale.ini",251245664);
Сам я в Си не силен, но так понимаю, что "char *cTrfTxtout" - это указатель на что-то типа Char. В Делфи подключаю функцию:
Код:
type
Transfer_Ethernet_EX = procedure(cTrfTxtout: ^PChar; Key: integer);
var
DLLInstance: THandle;
TransferProc: Transfer_Ethernet_EX;
begin
DLLInstance := LoadLibrary('TransferEth.dll');
@TransferProc := GetProcAddress(DLLInstance, '_Transfer_Ethernet_EX@8');
if @TransferProc <> nil then TransferProc('Transscale.ini', 251245664);
FreeLibrary(DLLInstance);
end;
Ругается, что Identifier expected, but '^' found на объявление в type. Так как мне там указатель применить? Интерпретируйте, пожалуйста, с Сей на Паскаль, если не затруднит...