Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   DLL aus C - Constanten mit byte und Hex (https://www.delphipraxis.net/178112-dll-aus-c-constanten-mit-byte-und-hex.html)

Metschu 18. Dez 2013 10:21

DLL aus C - Constanten mit byte und Hex
 
Hallo zusammen,

ich stehe mal wieder auf dem Schlauch und sehe das Ziel von lauter Zahlen und Buchstaben nicht... :?

Um ein USB-CAN Modul zu initialisieren muss ich folgende Funktion aus einer C-DLL importieren:

UCanRet Public (
tUCanHandle UcanHandle_p
Byte bBTR0_p
Byte bBTR1_p
...)


Die Baudrate (bBTR0_p & bBTR1_p) wird nach folgender Tabelle eingestellt:
KonstanteWertBedeutung
...  
USBCAN_BAUDEX_125kBIT0X00170354125 kBit/s
...  

Ich muss also den Hexwert irgendwie in das Byte umwandeln und da komme ich nicht mehr weiter :oops:

Der Versuch unter anderem mit
Delphi-Quellcode:
HiByte($00170354)
brachte "Konstantenausdruck verletzt untere Grenze"
obwohl es in der Doku mit "btr0_p = hibyte(usbcan_baudex_125kbit) als Beispiel angegeben ist.

Oder kann ich mir aus der DLL die Konstante auch importieren?

Um das ganze aber zu verstehen, ist das umwandeln schon sinnvoller :)

DeddyH 18. Dez 2013 10:26

AW: DLL aus C - Constanten mit byte und Hex
 
$00170354 = 1508180, HiByte erwartet ein Word (Maximalwert = 65535). Mir ist nicht ganz klar, welches Byte da nun erwartet wird, aber Du könntest es noch zusätzlich mit HiWord bzw. LoWord versuchen.
Delphi-Quellcode:
HiByte(LoWord($00170354))


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz