AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Pointer-Adresse (wie in C++) ausgeben

Ein Thema von BloodySmartie · begonnen am 11. Jul 2008 · letzter Beitrag vom 15. Jul 2008
Antwort Antwort
BloodySmartie
(Gast)

n/a Beiträge
 
#1

Pointer-Adresse (wie in C++) ausgeben

  Alt 11. Jul 2008, 16:53
Hallo zusammen!

Nachdem ich nun schon einige Male unsanft mit dem Kopf auf den Schreibtisch schlug, möchte ich Euch um Rat bitten. In C++ ist es mir ein leichtes, die Adresse, auf die ein Pointer zeigt, ausgeben zu lassen. In Delphi schaffe ich das einfach nicht. Auch mein Kollege schüttelt nur mit dem Kopf.

Unser Pointertyp:
Delphi-Quellcode:
 type PMessage = ^TMessage;
  TMessage = record
    caller: string;
    called: string;
    data: string;
    transactionId: string;
    time: TDateTime;
    server: string;
    mandant: string;
    db_server: string;
    db_db: string;
    text: string;
    short_text: string;
    datacall: string;
    DBConIdx:integer;
    geekPointer:Pointer;
  end;
Wir würden nun gern etwas in dieser Richtung machen:
Delphi-Quellcode:
var pmsg:PMessage;

new(pmsg);
memo1.lines.add('Adresse='+inttostr(pmsg));
Das geht aber nicht. Das kann doch nicht so schwer sein

Hilfe!

[edit=Phoenix]Titel angepasst. Mfg, Phoenix[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Poseidon
Poseidon

Registriert seit: 8. Jul 2008
113 Beiträge
 
Delphi 2005 Personal
 
#2

Re: Zeig' dich, Du Adresse!!

  Alt 11. Jul 2008, 16:56
Bin kein C++ experte, aber meinst du mit Pointer den Pfad, sprich C:\Bla......
Inttostr Macht aus einem Integer ein String, aber der Pfad C:\Bla... ist string, bei C:\bal.exe Filename.
Im Zweifelsfall immer das Richtige tun
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#3

Re: Zeig' dich, Du Adresse!!

  Alt 11. Jul 2008, 16:57
memo1.lines.add('Adresse='+inttostr(cardinal(pmsg))); Musst den Zeiger casten nach Integer bzw. Cardinal.

oder sauberer

memo1.lines.add(Format('Adresse=$%0.8p', [pmsg])); Gruß Hagen

PS: beachte das deine Strings=type LongString in diesem Record ebenfalls nur Zeiger auf Records im Speicher sind. Du kannst also nicht einfach einen kompletten Record binär in eine Datei speichern und wieder laden.
  Mit Zitat antworten Zitat
BloodySmartie
(Gast)

n/a Beiträge
 
#4

Re: Zeig' dich, Du Adresse!!

  Alt 11. Jul 2008, 18:28
Vielen Dank! Das funktioniert
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)
Online

Registriert seit: 25. Jun 2002
Ort: Hausach
7.639 Beiträge
 
#5

Re: Zeig' dich, Du Adresse!!

  Alt 14. Jul 2008, 11:34
Bitte ändere den Titel in was Vernünftiges.
Du bist lang genug in der DP um das eigentlich besser zu wissen.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
BloodySmartie
(Gast)

n/a Beiträge
 
#6

Re: Zeig' dich, Du Adresse!!

  Alt 15. Jul 2008, 10:26
Das darf ich doch nur innerhalb von 24 Stunden. Und Du bist bestimmt lang genug Moderator, um das zu wissen
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)
Online

Registriert seit: 25. Jun 2002
Ort: Hausach
7.639 Beiträge
 
#7

Re: Zeig' dich, Du Adresse!!

  Alt 15. Jul 2008, 10:31
Zitat von BloodySmartie:
Das darf ich doch nur innerhalb von 24 Stunden. Und Du bist bestimmt lang genug Moderator, um das zu wissen
Da hast Du vollkommen recht... Done
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
BloodySmartie
(Gast)

n/a Beiträge
 
#8

Re: Pointer-Adresse (wie in C++) ausgeben

  Alt 15. Jul 2008, 10:56
Ich gelobe dafür feierlich, mich zu bessern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz