Показать сообщение отдельно
  #2  
Старый 13.09.2017, 01:36
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну,
1. Тебе точно нужна 32-битная (которая x86). x64 ты в 32 битный процесс без танцев с бубнами не загрузишь. А Delphi 7 генерит именно 32 битный код.
2. Надо смотреть, что за тип VARIANT_BOOL. Походу, это ShortInt.
3. BSTR - это будет WideString
4. Integer и так по дефолту LongInt
5. cdecl - правильно, если это нативная С функция (т.е. в исходниках НЕ PASCAL)

Код:
type
  VARBOOL = ShortInt;

const 
  VARBOOL_TRUE : VARBOOL = -1;
  VARBOOL_FALSE : VARBOOL = 0;

function Net_Connect(IPAdd: WideString; Port: Integer) : VARBOOL; cdecl; external 'zkemkeeper.dll';

Ну и обращение будет такое примерно:
Код:
if Net_Connect(WideString('127.0.0.1'),8080) = VARBOOL_TRUE
  Then ShowMessage('Connected')
  Else ShowMessage('Error');
Ответить с цитированием