AGB  ·  Datenschutz  ·  Impressum  







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

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 00:17

Parameter dieser Suchanfrage:

Suche in Thema: (const Param:Integer)oder(Param:Integer)-Unterschied?
Suche alle Beiträge, die von "jbg" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 4 von insges. 4 Treffern
Suche benötigte 0.005s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Object-Pascal / Delphi-Language

    Re: (const Param:Integer)oder(Param:Integer)-Unterschied?

      Delphi
      by jbg, 7. Jul 2005
    function EBP: Cardinal; asm mov eax, ebp end;

    // {$O-}
    function ShowThat(const Param: Integer): Boolean;
    begin
    PInteger(@Param)^ := 9;
    if Cardinal(@Param) <= EBP then // Stack wird von der größeren zur kleineren Adresse hin aufgebaut
    ShowMessage('Param liegt im Stackframe von ShowThat');
    end;
  • Forum: Object-Pascal / Delphi-Language

    Re: (const Param:Integer)oder(Param:Integer)-Unterschied?

      Delphi
      by jbg, 7. Jul 2005
    Delphi's Code Optimierung ändert nicht die Symantik.


    Prüfe das bitte nochmal nach, werde ich auch machen, obwohl ich das ja schon gemacht habe bevor ich mein Gegenbeispiel gepostet habe (in Delphi 7)

    MyFunc und ShowThat sind aber schon gleich deklarariert?
  • Forum: Object-Pascal / Delphi-Language

    Re: (const Param:Integer)oder(Param:Integer)-Unterschied?

      Delphi
      by jbg, 6. Jul 2005
    Womöglich doch nicht, oder du beziehst dich auf einen anderen Datentyp als Integer.

    Das hängt vom Datentyp des Parameters ab. Bei Integern wird bei const trotzdem eine Kopie auf den Stack gelegt:
    mov eax, // Wert von MyInteger in eax (=1. Parameter bei register-Call)
    call DoSomeWildThings
    Bei einem CallByRef müsste der Code so aussehen:
    mov eax, OFFSET MyInteger // Adresse von MyInteger...
  • Forum: Object-Pascal / Delphi-Language

    Re: (const Param:Integer)oder(Param:Integer)-Unterschied?

      Delphi
      by jbg, 6. Jul 2005
    Da stimmt doch was nicht. Wenn ich beim SpinEdit eine 5 einstelle und dann nach deiner Theorie dann doch eine 5 sehe, obwohl nach deiner Theorie ein 9 da stehen muss, dann kann da doch was nicht stimmen :wall:

    Das const hat bei Integer nur die Wirkung, dass der Compiler den Parameter nicht verändern lässt. Er wird aber immernoch mit ByValue übergeben. const hat hauptsächlich bei Strings eine...


URL zu dieser Suchanfrage:

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