I am trying to compile the following (FWH / xHarbour) and I get some errors.
Is there something I am missing??
- Code: Select all Expand view
- #include "FiveWin.ch"
function Main()
CheckIt()
return nil
function CheckIt()
local cArray := FillArray(), aInfo
if Fddig1( 0 ) < 7
MsgAlert( "No Key drive in the USB port!" )
return 0
endif
Accdd1( cArray )
aInfo = GetValues( cArray )
MsgInfo( aInfo[ 1 ], "LicType" )
MsgInfo( aInfo[ 2 ], "TokenId1" )
MsgInfo( aInfo[ 3 ], "TokenId3" )
return nil
DLL FUNCTION ACCDD1( pValues AS LPSTR ) AS VOID PASCAL ;
FROM "Accdd1" LIB "Aas973.dll"
DLL FUNCTION FDDIG1( nVal AS LONG ) AS LONG PASCAL ;
FROM "Fddig1" LIB "Aas973.dll"
#pragma BEGINDUMP
#include <hbapi.h>
#include <windows.h>
static LONG accm[] = {
0,
0x313628FA,
0x7F03F6E4,
0x6589E678,
0x1654265F,
0x066E3FE0,
0x7C1B0162,
0x7C5612EE,
0x62EDDCAD,
0x69DF0765
};
HB_FUNC( FILLARRAY )
{
LONG acck[ 100 ];
LONG accNa, accUr;
int i;
srand( GetTickCount() );
accUr = rand();
for( i = 1; i < 100; i++ )
acck[ i ] = rand();
for( i = 1; i < 100; i++ )
accUr = acck[ ( acck[ i ] ^ ( accUr & 0x0ff ) ) % 99 ] ^ ( accUr >> 8 );
accUr = ( accm[ 6 ] ^ accUr ) & 0x0ffff;
hb_retclen( ( char * ) acck, 100 * sizeof( LONG ) );
}
HB_FUNC( GETVALUES )
{
LONG * acck = ( LONG * ) hb_parc( 1 );
LONG accr1, accr2, accr3, accr4;
LONG accNa, accUr;
LONG LicType, TokenId1, TokenId2;
BOOL OrigDrive;
accNa = ( acck[ 99 ] ^ accm[ 5 ] ) & 1061109567;
accr1 = accm[ 1 ] ^ acck[ LOBYTE( LOWORD( accNa ) ) ];
accr2 = accm[ 2 ] ^ acck[ HIBYTE( LOWORD( accNa ) ) ];
accr3 = accm[ 3 ] ^ acck[ LOBYTE( HIWORD( accNa ) ) ];
accr4 = accm[ 4 ] ^ acck[ HIBYTE( HIWORD( accNa ) ) ];
OrigDrive = accr4 == ( ( ( accr2 - ~accr1 / accUr ) ^ accr3 ) - accUr );
LicType = TokenId1 = TokenId2 = 0;
hb_reta( 3 );
if( OrigDrive )
{
LicType = acck[ 64 + ( HIBYTE( HIWORD( accNa ) ) % 35 ) ] ^ acck[ LOBYTE( LOWORD( accNa ) ) ];
if( LicType == ( accm[ 1 ] ^ accm[ 3 ] ^ accm[ 4 ] ^ accm[ 5 ] ) )
LicType = 1;
else
if( LicType == ( accm[ 1 ] ^ accm[ 2 ] ^ accm[ 4 ] ^ accm[ 5 ] ) )
LicType = 2;
else
LicType = 0;
TokenId1 = accm[ 7 ] ^ acck[ LOBYTE( LOWORD( accNa ) ) + 1 ];
TokenId2 = accm[ 8 ] ^ acck[ HIBYTE( LOWORD( accNa ) ) + 1 ];
hb_storvnl( LicType, -1, 1 );
hb_storvnl( TokenId1, -1, 2 );
hb_storvnl( TokenId2, -1, 3 );
}
else
{
hb_storvnl( 0, -1, 1 );
hb_storvnl( 0, -1, 2 );
hb_storvnl( 0, -1, 3 );
}
}
Errors:
- Compiling...
xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6406)
Copyright 1999-2009, http://www.xharbour.org http://www.harbour-project.org/
Compiling 'demo2.prg' and generating preprocessed output to 'demo2.ppo'...
Lines 33, Functions/Procedures 4
Generating C source output to 'demo2.c'...
Done.
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
demo2.c:
Warning W8004 demo2.prg 75: 'accUr' is assigned a value that is never used in fu
nction HB_FUN_FILLARRAY
Warning W8065 demo2.prg 113: Call to function 'hb_storvnl' with no prototype in
function HB_FUN_GETVALUES
Warning W8065 demo2.prg 114: Call to function 'hb_storvnl' with no prototype in
function HB_FUN_GETVALUES
Warning W8065 demo2.prg 115: Call to function 'hb_storvnl' with no prototype in
function HB_FUN_GETVALUES
Warning W8065 demo2.prg 119: Call to function 'hb_storvnl' with no prototype in
function HB_FUN_GETVALUES
Warning W8065 demo2.prg 120: Call to function 'hb_storvnl' with no prototype in
function HB_FUN_GETVALUES
Warning W8065 demo2.prg 121: Call to function 'hb_storvnl' with no prototype in
function HB_FUN_GETVALUES
Warning W8004 demo2.prg 95: 'LicType' is assigned a value that is never used in
function HB_FUN_GETVALUES
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: Unresolved external '_hb_storvnl' referenced from C:\TEST\DEMO2.OBJ
* Linking errors *
C:\Test>