Code: Alles auswählen
#define IMAGE_FILE_MACHINE_I386 0x14c
#define IMAGE_FILE_MACHINE_IA64 0x200
#define IMAGE_FILE_MACHINE_AMD64 0x8664
...
cMachineType := ( SUBSTR(cBuffer,nPointer+4,2) )
hHex := cBin2Hex(cMachineType)
DO CASE
CASE hHex = IMAGE_FILE_MACHINE_I386
cText := "for 32bit Machine"
CASE hHex = IMAGE_FILE_MACHINE_IA64 .OR. hHex = IMAGE_FILE_MACHINE_AMD64
cText := "for 64bit Machine"
OTHERWISE
cText := "unknown Machine"
ENDCASE
ich habe wohl Problem mit HEX Werten / Konstanten ...oError:args :
-> VALTYPE: N VALUE: 332
-> VALTYPE: N VALUE: 332
oError:canDefault : N
oError:canRetry : N
oError:canSubstitute: J
oError:cargo : NIL
oError:description : Parameter hat falschen Typ
oError:filename :
oError:genCode : 2
oError:operation : <332>=<332>
oError:osCode : 0
oError:severity : 2
oError:subCode : 3
oError:subSystem : BASE
oError:thread : 1
oError:tries : 0
------------------------------------------------------------------------------
CALLSTACK:
------------------------------------------------------------------------------
Aufgerufen von MAIN(34)
ich lese 2 byte mit Fread und will die vergleichen.
für 32bit habe ich nun IMAGE_FILE_MACHINE_I386 0x14c aber im HEX Editor sehe ich da sind die doch in der "falschen" Reihenfolge ???
muss ich die bytes "einzeln" lesen ... von rechts nach links ?