AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Suchfunktion Ergebnis der Suchanfrage

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 12:32

Parameter dieser Suchanfrage:

Suche in Thema: Pointeradresse auslesen
Suche alle Beiträge, die von "paul.kunig" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 7 von insges. 7 Treffern
Suche benötigte 0.000s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Object-Pascal / Delphi-Language

    AW: Pointeradresse auslesen

     
      by paul.kunig, 13. Sep 2019
    Zuerst einmal Danke für die vielen Antworten.

    Jedoch lüftet sich der Schleier nur sehr langsam.

    IntToStr(Eingabe^) = Dereferenzierung des Zeigers. Ausgabe des unter der Adresse abgelegten Wertes.

    IntToStr(Integer(Eingabe)) // Erwartete Ausgabe
    Welche Ausgabe? Es handelt sich um einen Zeiger!

    IntToStr(Integer(@Eingabe)) Adresse auf dem Stack.
  • Forum: Object-Pascal / Delphi-Language

    AW: Pointeradresse auslesen

     
      by paul.kunig, 11. Sep 2019
    Das ist völlig irrelevant, ob der Speicherplatz ausreicht. Es ist lediglich ein Test zum Verständnis von Zeigern.
    Wenn ich die Speicheradresse eines Zeigers ausgeben will, muss ich wohl in einen Integer casten, da ich einen Zeiger nicht anzeigen kann.

    Noch einmal die Frage:
    Was gibt IntToStr(Integer(Eingabe)) zurück, wenn, wie in diesem Fall, Eingabe ein Zeiger ist?
  • Forum: Object-Pascal / Delphi-Language

    AW: Pointeradresse auslesen

     
      by paul.kunig, 11. Sep 2019
    Wieso weise ich nichts zu?
    Der Inhalt(Wert) des Eingabefeldes wird unter der Speicheradresse des Zeigers abgelegt.

    @ und Addr() sind laut Delphi für die Ausgabe der Speicheradresse vorgesehen, richtig.

    Aber was gibt IntToStr(Integer(Eingabe)) zurück, wenn, wie in diesem Fall, Eingabe ein Zeiger ist?
    Ist die Frage so schwer, drücke ich mich falsch aus oder kann ich mein Anliegen nicht klar...
  • Forum: Object-Pascal / Delphi-Language

    AW: Pointeradresse auslesen

     
      by paul.kunig, 11. Sep 2019
    Hallo Klaus,

    wieso Delphi 5? Wurde nicht von mir eingetragen.

    In der Signatur steht doch Delphi 10 Seattle!



    Ich habe im ersten Thread die komplette Routine hineingeschrieben.
    Daraus geht eindeutig hervor, dass es sich um einen Typisierten Zeiger handelt, der meiner Meinung nach im Heap gespeichert wird.
  • Forum: Object-Pascal / Delphi-Language

    AW: Pointeradresse auslesen

     
      by paul.kunig, 11. Sep 2019
    Ich möchte den Wert des Eingabefeldes im Heap speichern, daher der Typisierte Zeiger.

    Um den Wert aus dem Speicherbereich auszulesen wird dieser dereferenziert, also Eingabe^.
    Um die Speicheradresse auszulesen wird @ oder Addr() verwendet.

    So weit, so gut.

    Wenn ich den Zeiger nicht mit New() erzeuge, gibt es eine Zugriffsverletzung.
    Also ist diese Speicherzuweisung notwendig.
  • Forum: Object-Pascal / Delphi-Language

    AW: Pointeradresse auslesen

     
      by paul.kunig, 11. Sep 2019
    Hallo Amateurprofi,

    danke für deine Antwort. Noch einmal zum Verständnis.

    Die Variable "Eingabe" ist eine Typisierter Zeiger.
    In diesen Speicherbereich wird der Wert aus dem Eingabefeld gespeichert.

    Also sollte ich zwei Werte abrufen können.
    1) Den Werte der unter dieser Speicheradresse abgelegt ist.
    2) Die Adresse wo der Wert abgelegt ist.
  • Forum: Object-Pascal / Delphi-Language

    Pointeradresse auslesen

     
      by paul.kunig, 11. Sep 2019
    Hallo zusammen,

    folgender Code:
    procedure TForm1.Button1Click(Sender: TObject);
    var
    Eingabe: ^String;
    begin
    New(Eingabe);
    Eingabe^ := Edit1.Text;


URL zu dieser Suchanfrage:

https://www.delphipraxis.net/dp_search.php?do=usersearch&search_username=paul.kunig&search_exact_username=1&search_sortby=dateline&search_resulttype=post&search_matchmode=0&searchthreadid=201931
Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:42 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