![]() |
AW: ....Wo im Code befinde ich mich gerade?.....
Zitat:
Zitat:
Also was hast Du vor? Gruß K-H |
AW: ....Wo im Code befinde ich mich gerade?.....
Also,
ich will so eine Art LogFile bauen. Damit ich sehen kann, wo das Programm ist/war wenn ein Fehler oder eine Endlosschleife (Programm macht nicht mehr) beim Kunden läuft. In der Entwicklungsumgebung ist ja fast immer alles OK und läuft super. Beim Kunden sieht das schon ganz anders aus. Und echte Daten bekommt man vom Kunden (verständlicherweise) nicht. Im Log File kann ich so sehen, wo man suchen muß. Ich hoffe es ist verständlich. :!::?: |
AW: ....Wo im Code befinde ich mich gerade?.....
Zitat:
![]() |
AW: ....Wo im Code befinde ich mich gerade?.....
Als ich mit so etwas Anfing hab ich es mir simpel, aber falsch gemacht.
Im Form.Create() Event eine Globale variable TStringList initialisieren. Vor jedem Codeblock eine Zeile mit Infos in die TStringList, nach jedem Codeblock eine Zeile mit Infos in die TStringList, bei bedarf Inhalt in eine Memobox oder direkt in Datei speichern. Kann bei Programmabstürzen sehr fehlerbehaftet sein um es als Datei-Log zu verwenden. Mittlerweile bin ich auf eine andere Methode umgesattelt auf die mich EWeiss gebracht hat, Danke nochmal dafür :thumb: Ich erstelle nach wie vor meine Log-Strings, nur diesmal einzeln und nicht mehr als TStringList, ein zweites Programm wartet im Hintergrund auf bestimmte Message Ereignisse und protokolliert so alles, bei Haupt-Programm Absturz bleiben die Infos erhalten und gespeichert wird nach einer von mir festgelegten Zeilennummer bzw bei regulärem Haupt-Programm beenden. Falls Dich so etwas interessieren sollte lege ich Dir ans Herz ein paar Chat-Programme oder Client/Server Beispiele Dir anzuschauen, da wird Dir gezeigt wie man Strings von Programm A nach Programm B bekommt, in Echtzeit. |
AW: ....Wo im Code befinde ich mich gerade?.....
Ich hatte mir mal überlegt die Technik ala AQTime zu nutzen, also bei Bedarf sich ins Programm hocken (ginge auch innerhalb des eigenen Programms)
und darüber die Prozedur-Eintritts- und Austrittspunkte je Thread ins Log schreiben. Leider hat Delphi ja keinen Precompiler/Preprocessor, wo man sich reinhängen könnte, um dort den LogCode direkt einzufügen, vor dem Compilieren. Jemand hatte da zwar mal was gebastelt, aber das funktionierte nur in alten Delphis bis 7. (wenn ich mich richtig erinner) Der C++Builder kennt das zwar ![]() und FreePascal hat auch was parat ![]() aber Delphi leider nach Jahrzehnten immernoch nicht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:57 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