AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Von welcher Procedure wird meine Procedure aufgerufen
Thema durchsuchen
Ansicht
Themen-Optionen

Von welcher Procedure wird meine Procedure aufgerufen

Ein Thema von s.h.a.r.k · begonnen am 31. Aug 2006 · letzter Beitrag vom 31. Aug 2006
Antwort Antwort
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#1

Von welcher Procedure wird meine Procedure aufgerufen

  Alt 31. Aug 2006, 09:09
Guten Morgen,

ich hab da mal eine allgemeine Frage: und zwar hab ich eine Fremdkomponente, eine Art TabBar, deren Zeichen-Procedure ich etwas umschreiben will (farblich). Nun ist es so, dass ich am Procedure-"Kopf", d.h. auch an den Parametern, nichts umstellen darf, aus welchen Gründen auch immer. Nun würde ich gerene wissen, ob es möglich ist in einer Procedure herauszufinden, von welcher Procedure (oder auch Function) diese aufgerufen wurde?!

Beispiel:
Delphi-Quellcode:
procedure Test;
begin
  SayHello;
  // ...
end;

procedure SayHello;
begin
  ShowMessage("GetParentProcedure"); // imaginärer Befehl halt ;)
  // do anything else...
end;
mfg Armin
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
_rEdoX

Registriert seit: 2. Jun 2006
Ort: Bochum
24 Beiträge
 
Delphi 7 Professional
 
#2

Re: Von welcher Procedure wird meine Procedure aufgerufen

  Alt 31. Aug 2006, 09:12
Gib ihr noch einen parameter indem du die funktion mit gibst
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#3

Re: Von welcher Procedure wird meine Procedure aufgerufen

  Alt 31. Aug 2006, 09:19
Zitat von s.h.a.r.k:
... d.h. auch an den Parametern, nichts umstellen darf, aus welchen Gründen auch immer...
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Von welcher Procedure wird meine Procedure aufgerufen

  Alt 31. Aug 2006, 09:21
Wenn Du Debug-Infos hast bekommst du das mit den Debug-Funktion __LINE__, ... aus der Jedi heraus.
Hast Du keine Debug-Infos bekommst Du keine Infos (außer einer Adresse) und das wird dir wohl nicht reichen.

Da müsstest Du schon auf .NET umstellen da du dort auch ohne Debug-Infos mehr Laufzeitinformationen wie deine gewünschten bekommst.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#5

Re: Von welcher Procedure wird meine Procedure aufgerufen

  Alt 31. Aug 2006, 09:32
Also die Jedis hab ich drauf, nur wie wende ich das an? woher bekomme ich dieses __LINE__? hab davon noch nie was gehört

PS: .NET mag und will ich nicht verwenden - außerdem kann ich das hier gar nicht!
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#6

Re: Von welcher Procedure wird meine Procedure aufgerufen

  Alt 31. Aug 2006, 09:57
Willst du diese Information nur einmalig und grundlegend haben oder immer zur Laufzeit? Wenn einmalig, dann setz einen Brechpunkt und schau dir den Call-Stack an.
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

Re: Von welcher Procedure wird meine Procedure aufgerufen

  Alt 31. Aug 2006, 10:22
Ganz unsaubere Lösung: Wenn du die Routine selbst aufrufst, dann arbeite mit einer globalen Variable. Könnte auch eine private Klassenvariable sein, wenn du diese Änderung vornehmen kannst. Dann an jeder Aufrufstelle vor dem Aufruf einen anderen Code dort setzen.
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#8

Re: Von welcher Procedure wird meine Procedure aufgerufen

  Alt 31. Aug 2006, 11:02
Oder:

Bastel dir mit ner Stringlist nen Callstack^^
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#9

Re: Von welcher Procedure wird meine Procedure aufgerufen

  Alt 31. Aug 2006, 11:31
Zitat von Flocke:
Ganz unsaubere Lösung: Wenn du die Routine selbst aufrufst, dann arbeite mit einer globalen Variable. Könnte auch eine private Klassenvariable sein, wenn du diese Änderung vornehmen kannst. Dann an jeder Aufrufstelle vor dem Aufruf einen anderen Code dort setzen.
Ich glaube die Lösung gefällt mir wohl am besten - wenig Aufwand, maximale Wirkung Ich dachte nur dass es da vielleicht einen Befehl gibt der das macht - bin ja auch nicht allwissend
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:46 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