![]() |
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 |
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:
Hier können a und b geändert werden, c jedoch nicht. War das die Antwort auf deine Frage?
procedure DoSomething(var a: Integer; var b: Word; c: Byte);
|
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???
|
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 16:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz