Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi var eine Funktion übergibt wert nicht (https://www.delphipraxis.net/95757-var-eine-funktion-uebergibt-wert-nicht.html)

marabu 12. Jul 2007 17:15

Re: var eine Funktion übergibt wert nicht
 
Hallo,

du musst einen String nicht umständlich per Hand umkehren, wenn du Zugriff auf die Funktion StrUtils.ReverseString() hast. Wenn du das ganze auch noch machst um an das letzte Trennzeichen zu gelangen, dann solltest du dir mal SysUtils.LastDelimiter() anschauen. Wenn du aus einem Pfadnamen den Namen von Verzeichnis und Datei getrennt herausziehen möchtest, dann helfen dir ExtractFileDir() und ExtractFileName().

Grüße vom marabu

Blackheart 12. Jul 2007 17:19

Re: var eine Funktion übergibt wert nicht
 
Pfade etc.

DP-Maintenance 12. Jul 2007 21:56

DP-Maintenance
 
Dieses Thema wurde von "Christian Seehase" von "Internet / LAN / ASP.NET" nach "Object-Pascal / Delphi-Language" verschoben.
Nicht wirklich ein Netzwerkproblem ;-)

sirius 12. Jul 2007 22:30

Re: var eine Funktion übergibt wert nicht
 
Zitat:

Zitat von Christian Seehase
Konstante-Parameter (const):
Der Wert wird an die Funktion/Prozedur übergeben, und man kann dem Parameter nichts zuweisen (wird schon vom Compiler geblockt).

"..wird ausschließlich vom compiler geblockt" :mrgreen:
In der Exe sieht es völlig identisch aus. Aber unser Delphi will ja alles schön aufgeräumt haben :hello:

3_of_8 12. Jul 2007 22:34

Re: var eine Funktion übergibt wert nicht
 
Nein, bei const-Parametern wird das meist so gemacht, dass der Compiler dann darauf verzichtet, die Parameter zu "retten", was etwas Zeit spart, aber eben dazu führt, dass man den Wert nicht verändern darf (außer man will das, wie eben bei einem var-Parameter.

Sidorion 13. Jul 2007 09:45

Re: var eine Funktion übergibt wert nicht
 
Kleiner Nachtrag noch zu out-Parametern: Selbst wenn ein vernünftiger Wert beim Aufruf im Paramerter steht, wird dieser 'neutralisiert', d.h. der Parameter muss immer in der Methode initialisiert werden. Hier kann es bei Nichtbeachtung zu bösen Zugriffsverletzungen kommen. Out-Parameter werden quasi analog zu lokal deklarierten Variablen behandelt. Auch ist zu beachten, dass eine evtl. übergebene Objektinszanz nicht freigegeben wird.

Christian Seehase 13. Jul 2007 13:36

Re: var eine Funktion übergibt wert nicht
 
Moin Zusammen,

ich hätte da auch noch einen Nachtrag zu const-Parametern:
Wenn hier eine Objektreferenz übergeben wird, kann man natürlich die Methoden und Eigenschaften des Objektes benutzen (letztere auch ändern, wenn sie nicht Read-Only sind).


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:11 Uhr.
Seite 2 von 2     12   

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