Autor Beitrag
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 02.06.04 14:07 
Hallo!

Ich suche eine Möglichkeit, wie ich die Adresse eines Objekts oder einer Funktion als String speichern bzw. anzeigen kann (für eine Log-Datei bzw. die eingebaute Fehlerberichterstattung meines Programms).

Das Problem ist nämlich, dass ich ohne diese Angabe den Programmablauf im Fehlerfall nicht nachvollziehen kann.

Danke schon mal,
Sebastian
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: Mi 02.06.04 15:43 
Nun, das wirst du auch so nicht können. Die Adressen von Objekten sind bei jeder (Neu-)Erstellung andere. Stattdessen solltest du eine ordentliche Kapselung mittels try/except vornehmen und im Exception-Fall die relevanten Informationen ausgeben (Eventuell hast du Identifikationsmerkmale bei deinen Objekten, bei Komponenten z.B. der Name).

Adressen von Funktionen sind zwar ermittelbar, das macht jedoch (in meinen Augen) keinen Sinn. Notiere einfach, daß Funktion "sowieso" fehlgeschlagen ist.

Cu,
Udontknow
jaenicke Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 02.06.04 15:59 
Das tue ich ja auch, und das wird ja auch in den Fehlerbericht hineingeschrieben. Das Problem ist nur, dass ich direkt Speicheradressen zuweise. Ich kann auch damit umgehen, aber, wenn ich versuche die dann in einen String umzuwandeln, funktioniert das nicht.

(Quelltext nutzt hier nix, denn ich habs schon mit mehreren Varianten ausprobiert, zudem habe ich den jetzt nicht da)
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: Mi 02.06.04 16:04 
Also, wenn dein einziges Problem die Umwandlung ist... :

ausblenden Delphi-Quelltext
1:
ShowMessage(IntToHex(Integer(MyObject),8));					


Ich verstehe zwar nicht, was du dir davon versprichst, aber naja... :wink:

Cu,
Udontknow
jaenicke Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 04.06.04 12:52 
Ah so, der cast auf Integer hatte gefehlt, darauf war ich nicht gekommen,

Danke
:D