Стандартными средствами HASP конверта не получается. Программа становится неработоспособной. Обращались к поставщикам защиты.
Они там целый год что-то ковырялись. Сделали что контрольный пример защищается и работает, ну, типа, и все.
Я на время забил на, думал забудут меня, ан нет. Вспомнили. Так что пытаюсь зайти с другого борта. Есть там в поставке API с примером под дельфи.
Вот и ковыряюсь. Пытаюсь прицепить obj файл к проекту. В obj куча функций,которые описываю в разделе interface
Ну как-то так:
- Код: Выделить всё
const
HASP_Obj = 'hasp_windows_x64_delphixe_БЛА_БЛА_БЛА.obj';
function hasp_login(feature_id: hasp_feature_t; vendor_code: hasp_vendor_code_t; var handle: hasp_handle_t): hasp_status_t; stdcall; external HASP_Obj Name 'hasp_login';
function hasp_logout(handle: hasp_handle_t): hasp_status_t; stdcall; external HASP_Obj Name 'hasp_logout';
..............................
Там их много.
В объектном файле еще уйма системных вызовов к kernel32.dll. Практически все эти вызовы есть в модулях Windows и SysUtils. Модули в подключены в uses. Но вот только линкер не желает их цеплять и ругается что у него 125 неразрешенных ссылок. Пробовал описывать эти вызовы вот так:
- Код: Выделить всё
function GetComputerNameA(lpBuffer:LPSTR; nSize:LPDWORD):WINBOOL; external 'kernel32' name 'GetComputerNameA';
function MulDiv(nNumber:longint; nNumerator:longint; nDenominator:longint):longint; external 'kernel32' name 'MulDiv';
procedure GetSystemTime(lpSystemTime:LPSYSTEMTIME); external 'kernel32' name 'GetSystemTime';
procedure GetSystemTimeAsFileTime(lpSystemTimeAsFileTime:LPFILETIME); external 'kernel32' name 'GetSystemTimeAsFileTime';
function SetSystemTime(lpSystemTime:LPSYSTEMTIME):WINBOOL; external 'kernel32' name 'SetSystemTime';
procedure GetLocalTime(lpSystemTime:LPSYSTEMTIME); external 'kernel32' name 'GetLocalTime';
function SetLocalTime(lpSystemTime:LPSYSTEMTIME):WINBOOL; external 'kernel32' name 'SetLocalTime';
procedure GetSystemInfo(lpSystemInfo:LPSYSTEM_INFO); external 'kernel32' name 'GetSystemInfo';
procedure GetNativeSystemInfo(lpSystemInfo:LPSYSTEM_INFO); external 'kernel32' name 'GetNativeSystemInfo';
.......................
Компилятор все без проблем хавает, а вот линковщик шкварчит и ругается. Говорит что я дубина, и как было 125 неразрешенных ссылок, так и осталось.
Уже неделю ковыряюсь читаю в инете все подряд. Не помогает.
Что я делаю не так? Ткните носом дурака. Куда копать?