![]() |
Wie kann ich finden wo eine Variable geändert wird?
Die Frage kam bestimmt schon 10.000 mal. Aber ich schaffe es nicht die Suche passend einzugrenzen.
Ich habe eine Variable
Delphi-Quellcode:
. Wie kann ich im Code-Editor herausfinden wo diese Variable verändert wird (per Zuweisung oder als var-Parameter übergeben)?
meineZahl: Integer
|
AW: Wie kann ich finden wo eine Variable geändert wird?
Zitat:
für nicht Var Parameter -> Property daraus machen Designtime oder Runtime? Timer-> meineZahl <> lastMeineZahl... Bisschen mehr Futter :glaskugel: |
AW: Wie kann ich finden wo eine Variable geändert wird?
Moin,
an dem Punkt ab dem Du vermutest das die Änderung stattfindet einen Haltepunkt definieren, die Variable in die Überwachtenausdrücke übernehmen und dann wenn das Programm bei der Ausführung am Haltepunkt stoppt, mit F7 Schritt und Schritt durch den Code wandern. Als erstes kannst Du das auch mit F8 machen und wenn Du die Procedure gefunden hast in der die Veränderung stattfindet, einen Haltepunkt in die Procedure (den ersten löschen) und mit F7 weiter machen. Gruß Heiko |
AW: Wie kann ich finden wo eine Variable geändert wird?
Danke für die Antworten. Ich möchte nicht debuggen und schauen ob sich zur Laufzeit vielleicht mal etwas ändert.
Ich möchte zur "Designzeit" die Stellen finden wo eine Variable geändert wird. |
AW: Wie kann ich finden wo eine Variable geändert wird?
suche mit "meineVariable := "
sollte hier doch ausreichen - oder denke ich zu einfach? |
AW: Wie kann ich finden wo eine Variable geändert wird?
Ja. Denn Dinge wie
Delphi-Quellcode:
findet man damit nicht. Von Zeigern ganz zu schweigen, aber die lassen wir mal außen vor ;-)
verdoppeleWert(meineVariable);
[...] procedure verdoppeleWert(var wert: Integer); begin wert := wert * 2; end; |
AW: Wie kann ich finden wo eine Variable geändert wird?
Hallo,
dann benenn die Variable um, dann findet der Compiler die Stellen. Zum Debuggen (jaja, willst du nicht): Ich mache aus der Variable ein Property, dann kannst du aber die aber nicht mit var-Parametern arbeiten. Heiko |
AW: Wie kann ich finden wo eine Variable geändert wird?
Ein
Delphi-Quellcode:
hätte schon gereicht als Gegenbeispiel. ;)
Inc(meineVariable)
Und was wäre mit
Delphi-Quellcode:
Zählt das für dich als "Variable geändert" oder nicht? D.h. suchst du Schreibzugriffe oder tatsächliche Wertänderungen?
Foo(meineVariable);
procedure Foo(var wert: Integer); begin wert := wert; end; Egal wie die Frage ausfällt, ich kann dir da nicht weiterhelfen. Mir fällt spontan nur ein die Refactoring-Funktionen zu benutzen ("meineVariable" vom Refactoring umbenennen lassen und alle Fundstellen manuell überprüfen). |
AW: Wie kann ich finden wo eine Variable geändert wird?
Zuweisungen finden aber nunmal nur zur Laufzeit statt. Entweder du suchst im Code nach deiner Variablen, oder suchst zur Laufzeit beim Debuggen. Wenn du sie mit dem Suchbegriff "MyVar :=" nicht findest, suchst du eben mit "var MyVar" weiter oder suchst gleich nur nach "MyVar". Ansonsten gibt es dafür keinen anderen "Trick" oder ein spezielles Feature in der IDE, zumindest nicht in meiner :-D
|
AW: Wie kann ich finden wo eine Variable geändert wird?
Ist vielleicht zu einfach, aber ich hätte jetzt einfach über das Kontext-Menü Referenzen suchen (bzw. Ctrl-Shift-Enter) alle Stellen auflisten lassen. Dort sieht man Zuweisungen sehr schnell - nur bei Var-Parameten muss man halt genauer hinschauen.
Alternativ kann ich auch den ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:08 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 by Thomas Breitkreuz