![]() |
Re: Sowas wie __LINE__ in Delphi?
Sowas wie LINE gibts trotzdem nicht ;) Bei C++ wird LINE als Compiler-Konstante interpretiert und kann auch so verwendet werden.
Man kann nur die Zeile anhand einer Adresse ermitteln, wenn die gesamte Map-Datei an die EXE mit rangehängt wird und diese vergrößert die EXE deutlich. Ohne diese Map, kann man die Adresse nicht auf eine Unit/Zeilennummer zurückrechnen. Aber, zum Erzeugen eines Fehlerreports ist vielleicht MadExcept besser, da dieser noch ein paar mehr Informationen erstellt und schon eine Mail-Funktion integriert hat. |
Re: Sowas wie __LINE__ in Delphi?
Zitat:
|
Re: Sowas wie __LINE__ in Delphi?
So,
ich hab mir jetzt die zwei Demos mal angesehen und die erfüllen ja fast meinen Zweck. Wobei bei der Frames-Demo Line immer 0 war. Das Problem ist ja, ich möchte nur die Zeilennummer, der Rest, was z.B. bei der Stack-Demo ausgegeben wird, bräuchte ich gar nicht. Kann man das irgendwie "wegschalten"? |
Re: Sowas wie __LINE__ in Delphi?
Zitat:
|
Re: Sowas wie __LINE__ in Delphi?
Hi,
manchmal sieht man den Wald vor lauter Bäumen nicht :mrgreen: In der Unit JclDebug gibts eine Funktion __LINE__ die genau das tut, was ich brauche :) |
Re: Sowas wie __LINE__ in Delphi?
Zitat:
|
Re: Sowas wie __LINE__ in Delphi?
Die braucht aber auch .map oder td32-Daten or jdbg-Daten.
|
Re: Sowas wie __LINE__ in Delphi?
Ja gut, stimmt auch wieder.
Vllt. lass ich einfach die Zeilennummern weg. Die Map-Datei ist auch grad mal 800kb groß.^^ |
Re: Sowas wie __LINE__ in Delphi?
Die jdbg-Daten werden an die Exe angehängt und sind ungefähr 10-15% der original Exe-Größe (wenn natürlich die .dfm Dateien aufblähen ist das Verhältniss anders).
Alternativ kann man auch einen Präprozessor schreiben, der __LINE__ durch eine max. 8-stellige Zahl ersetzt um nicht die Spaltennummer zu verändern. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 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