![]() |
einer variable eine adresse zuweisen
Ist es möglich einer variable eine andere adresse zuzuweisen? Wenn ja, wie?
Ich will also quasi eine Variable, mit zwei Namen ... hört sich komisch an, macht aber in meinem Fall durchaus sinn ... ciao & thx, Philipp |
Re: einer variable eine adresse zuweisen
Vielleicht mittels eines Array's ?
Oder du machst einfach 2 Variablen mit gleichem Inhalt. |
Re: einer variable eine adresse zuweisen
Zitat:
Zitat:
ciao, Philipp |
Re: einer variable eine adresse zuweisen
Vielleicht geht das mit pointern, also einer Variable und einer Variable, die darauf zeigt. dann kannst du über beide den gleichen Inhalt erreichen ...
|
Re: einer variable eine adresse zuweisen
Zitat:
|
Re: einer variable eine adresse zuweisen
Zitat:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var ValueA: Integer; ValueB: PInteger; begin ValueB := @ValueA; ValueA := 12; ShowMessage(IntToStr(ValueB^)); ValueB^ := 21; ShowMessage(IntToStr(ValueA)); end; |
Re: einer variable eine adresse zuweisen
Zitat:
[edit]dereferenziert, nicht referenziert ... hrmpf[/edit] ciao, Philipp |
Re: einer variable eine adresse zuweisen
Zitat:
Delphi-Quellcode:
type
TForm1 = class(TForm) ... private { Private-Deklarationen } FValue: Integer; public { Public-Deklarationen } property ValueA: Integer read FValue write FValue; property ValueB: Integer read FValue write FValue; end;
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin ValueA := 12; ShowMessage(IntToStr(ValueB)); end; |
Re: einer variable eine adresse zuweisen
@Sprint: Das wäre ne idee ... aber bevor ich sowas mache, nehme ich lieber die pointer-dereferenzier-methode ... ^^
Nun, vielleicht ein paar "erklärungen" zu dieser Problemstellung: Ich bringe (m)eine DLL in den Speicher einers (fremden) Prozesses, um dort Funktionen aufzurufen, und Variablen zu verändern. Funktionsaufrufe sind relativ einfach, wenn man die Funktionen "deklariert" hat:
Delphi-Quellcode:
Nun wäre es natürlich sehr praktisch, wenn es mit Variablen genauso gehen würde. Es geht zwar, über (wie oben genannt) Dereferenzierung von Pointern, aber es wäre natürlich praktisch, wenn man z.B. vorhandenen code, ohne bei jeder variable darauf achten zu müssen ein ^ anzuhängen, kopieren könnte. Außerdem sieht es gleich unkomplizierter aus ... ^^
var
ProcABC : procedure(abc : DWORD); stdcall = pointer($01001234); ... ProcABC(12345); ciao, Philipp |
Re: einer variable eine adresse zuweisen
Vielleicht hilft dir
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:56 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