Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Wer ist der Aufrufer?
mats - Do 08.11.18 14:30
Titel: Wer ist der Aufrufer?
Hi,
wie kann ich herausfinden ob die Unit1 von Unit2 oder Unit3 aufgerufen wird? Ich könnte natürlich eine Variable mit 0 oder 1 oder x übergeben, aber geht es nicht ohne? Irgendwo muß doch stehen wer die Unit1 aufgerufen hat? Oder nich?
Bin für jede Idee dankbar, die mir eine Variable erspart.
mats.
GuaAck - Do 08.11.18 20:50
Hallo mats,
ich fürchte, da gibt es nichts. Die wirst beim Auruf einen Parameter mitgeben müssen. Wenn die Aufrufe aus unterschiedlichen Klassen erfolgen, dann könnte vielleicht "classname" (s. TObject) ein Ansatz sein.
Im Rechner wird mit dem Aufruf nur die Rücksprungadresse auf dem Stack abgelegt. Die auf dem Stack zu finden und daraus dann den Namen der aufrufenden Unit zu finden, das ist wohl höchstens eine theoretische Möglichkeit.
Gruß
GuaAck
mats - Fr 09.11.18 08:13
Hallo GuaAck,
das es nicht ohne Vars geht habe ich schon geschnallt. Ich habe EINE Lösung: Vor dem Aufruf der Unit gebe ich der Variablen ModalResult := xyz_Value; Diese Variable lese ich dann auf der anderen Seite / Unit aus. Keine schöne Lösung, aber sie funktioniert.
Daran, den Klassennamen auszulesen, habe ich auch schon gedacht. Ich muss mal sehen was besser bzw. sicherer ist.
Danke
mats.
Delete - Fr 09.11.18 10:39
- Nachträglich durch die Entwickler-Ecke gelöscht -
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!