Hallo,
ich habe für die Demonstration der Benutzung der fehlerhaften Routine
Delphi-Quelltext
1:
| MP_Real.mpf_tohex_n(…) |
ein kleines Konsolen-Testprogramm MPF_ToHex_n_1.dpr erstellt (Delphi XE5 Pro). Hier befindet sich zur Kontrolle auch eine eigene Funktion
Dezimal_To_Hex(…), die Multipräzisions-Fließkommazahlen beliebiger Stellenzahl korrekt in einen Hexadezimal-String umrechnet. Im Programm ist die Stelle markiert, wo ein „Access violation“ auftritt.
Wegen des komplexen Zusammenspiels zahlreicher Units und *.inc habe ich auch noch 11 weitere benötigte Original-Files von Gammatester beigefügt. Sollten evtl. weitere Files fehlen, diese sind zu finden unter:
github.com/moe123/www.wolfgang-ehrhardt.de
Obwohl meine Function
Dezimal_To_Hex(…) die Routine
MP_Real.mpf_tohex_n(…) ersetzt, wäre ich an der Lösung des Problems trotzdem sehr interessiert, da die fehlerverursachende innere Procedure
s_mpf_toradix_n(..) in Gammatester's Bibliotheken an zahlreichen weiteren Stellen intern verwendet wird.
Danke für Eure Hilfe und kritischen Bemerkungen!
Gruß, Andreas
PS: Zielplattform: Win 32 Bit
Anhang: MPF_ToHex_n - 1.zip
Moderiert von Th69: Delphi-Tags hinzugefügt