![]() |
Delphi 2007 - Interner Fehler URW926
Hallo :)
Ich hoffe ich bin mit meinem Thema hier richtig aufgehoben. Es geht um folgendes: Vor einiger Zeit habe ich mit Delphi 7 eine Software erstellt. Diese Software soll nun mit Delphi 2007 weiterentwickelt werden, das funktioniert leider nicht so wie ich es erwartet habe: Der Compiler steigt mit einer Fehlermeldung aus, dabei wird von meiner Unit "uDATroniC.pas" die letzte Zeile markiert. Die Fehlermeldung unter hieß zunächst [DCC Fehler] uDATroniC.pas(1598): F2084 Interner Fehler: URW821 änderte sich nach der Installation des Dezember-Updates in: [DCC Fehler] uDATroniC.pas(1598): F2084 Interner Fehler: URW926 Zwar findet man bei Google über den 1. Fehler noch einige Sachen, der letztere allerdings ist Google unbekannt. Weiß jemand von euch wie ich das Problem in den Griff bekommen könnte? Ich habe nämlich keine Ideen mehr :-/. Grüße Stefan |
Re: Delphi 2007 - Interner Fehler URW926
Also URW steht für nen Fehler beim Schreiben oder Lesen der DCU. Eventuell die alte DCU mal löschen?
mfG mirage228 |
Re: Delphi 2007 - Interner Fehler URW926
Hallo!
Vielen Dank für Deine Antwort. Ich habe die alten DCUs mal gelöscht - leider hat es das Problem nicht gelöst. Gibt es villeicht eine weitere Sache die ich noch ausprobieren könnte? Grüße Stefan |
Re: Delphi 2007 - Interner Fehler URW926
Achso, hm, verwendest du vielleicht Runtime-Packages (Laufzeitpackages)?
Wenn ja, musst du diese ggf. in der richtigen Reihenfolge neu compilieren. Tritt der Fehler auch auf, wenn du die Datei in einem neuem Projekt verwendest? mfG mirage228 |
Re: Delphi 2007 - Interner Fehler URW926
Hallo,
ja - der Fehler tritt leider auch auf wenn ich die Unit in ein neues Projekt einbinde. So ein mist :| Ich denke damit könnte ich die Laufzeit-Packages vorerst ausschließen oder? Grüße Stefan |
Re: Delphi 2007 - Interner Fehler URW926
Zitat:
mfG mirage228 |
Re: Delphi 2007 - Interner Fehler URW926
Hallo,
ich konnte den Fehler inzwischen auf eine Funktion in der Unit zurückführen:
Delphi-Quellcode:
Diese Funktion wandelt 4 Bytes die über eine serielle Schnittstelle (in diesem Fall USB) kommen in eine Variable vom Typ "Single" um.
function TDATroniC.CreateFloat(byte1, byte2, byte3, byte4: Byte): Single;
type TFloat = record case byte of 1: (Float : Single); 2: (Byte: array [0..3] of byte); // 1 Single/Float = 4 Byte end; var flt : TFloat; begin flt.Byte[0] := Byte(Byte4); flt.Byte[1] := Byte(Byte3); flt.Byte[2] := Byte(Byte2); flt.Byte[3] := Byte(Byte1); Result := flt.Float; end; Hast Du eine Idee warum das nicht klappen könnte? Grüße Stefan |
Re: Delphi 2007 - Interner Fehler URW926
Der Type-Cast der Variablen, die eh schon "Byte" sind, wiederrum nach Byte sieht etwas komisch aus... :gruebel:
Delphi-Quellcode:
mfG
flt.Byte[0] := Byte4;
flt.Byte[1] := Byte3; flt.Byte[2] := Byte2; flt.Byte[3] := Byte1; mirage228 |
Re: Delphi 2007 - Interner Fehler URW926
Hallo,
also in diesem Record zeigen die Bytes und der Single auf den selben Speicherbereich. Indem ich die Bytes zuweise, verändere ich auch den Single. Gibt es da etwa eine bessere Methode? Grüße Stefan |
Re: Delphi 2007 - Interner Fehler URW926
Zitat:
Eventuell hilft auch den TFloat-Typ nicht in der Prozedur zu definieren, sondern außerhalb... mfG mirage228 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz