Also meine Problemstellung ist folgende:
Ich arbeite an einem Zutrittssysten und habe ein serielles Lesegerät das die
UNC-Nummer von RFID/Transponder Karten ausliest. Diese
UNC-Nummer bekomme ich vom Gerät im HEX-Format wie z.B. E0169402086427A9 (es sind immer 16 Nibbels)
Mein Problem ist nun, dass ich Karten von anderen Systemen importiere (übers Internet) und verwalten muss. Alle anderen Systeme verwenden diese Kartennummer im Dezimalformat: E0169402086427A9 -> 16147256250435119017
Eine Umwandlung der Nummer 16147256250435119017 ins Hex-Format geht ebenfalls nicht, da die Karten schon mit der Nummer im Dezimal-Format beschriftet sind und das die Kunden verwirren würde.
Meine Funktion, ganz oben im Thema, funktioniert soweit, nur nach bestimmten anderen Aufrufen im Programm (Application.CreateForm, LoadFromFile) funktioniert die Umwandlung nicht mehr bzw. beginnt automatisch mit dem Runden und ich erhalte das Ergebnis 1614725625043512000.
Kurz gesagt: ich muss Zahlen im Hex-Format mit 16 Nibbels im Dezimal-Format darstellen! Vielleicht kannst du mir auch sagen, wieso Delphi so lange kein application.createForm aufgerufen wird korrekt rechnet und nacher nicht mehr???