Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi 2 werte an procedure übergeben ohne die anderen 8 zu ändern (https://www.delphipraxis.net/32084-2-werte-procedure-uebergeben-ohne-die-anderen-8-zu-aendern.html)

Christian18 18. Okt 2004 14:07


2 werte an procedure übergeben ohne die anderen 8 zu ändern
 
Hallo,

ich habe eine procedrue geschrieben in der 10 werte übergeben werden. zwei von diesen sind z.b. die mouse pos. x und y.

jetzt will ich die mouse pos. übergeben, ohne die anderen werte, die in diese procedure übergeben werden zu ändern. ist das möglich???

mit freundlichen grüßen

christian18

Dax 18. Okt 2004 14:10

Re: 2 werte an procedure übergeben ohne die anderen 8 zu änd
 
Definiere zwei Werte als var, dann können die geändert werden, die anderen jedoch nicht.
Beispiel:
Delphi-Quellcode:
procedure DoSomething(var a: Integer; var b: Word; c: Byte);
Hier können a und b geändert werden, c jedoch nicht. War das die Antwort auf deine Frage?

Christian18 18. Okt 2004 14:17

Re: 2 werte an procedure übergeben ohne die anderen 8 zu änd
 
ja das ist die antwort auf meine frage, aber eins verstehe ich jetzt nicht warum kann a und b geändert werden, aber c nicht???

Dax 18. Okt 2004 14:21

Re: 2 werte an procedure übergeben ohne die anderen 8 zu änd
 
Beim Aufruf wird c kopiert und dann übergeben, a und b jedoch direkt. SOmit kannst du c in der Preozedur ändern, beim Ende der Prozedur ist das c des Aufrufers noch das selbe. a und b werden jedoch nicht kopiert, dort wird nur eine "Memory-Referenz" übergeben. Änderungen an a und b werden also direkt in die as und bs des Aufrufers geschrieben. Sieh mal in der Hilfe nach...


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:04 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