Hi,
ich glaube die eigentlich interessante Frage ist, wofür genau Du diese "Funktion" nutzen möchtest. Nicht umsonst sagt Corpman, dass es totaler Schwachsinn sei, so zu arbeiten.
An sich sind Pointer natürlich eine Möglichkeit, die dem von Dir beschriebenen Verhalten ähneln, allerdings (und darauf spielst Du wohl schon mit der TStringlist an) handelt es sich nicht um eine Zuordnung von Bezeichner zu Pointer. Sicherlich kannst Du eine TStringList ordentlich missbrauchen und da (leider) sogar Pointer ablegen, aber die Frage ist, ob das Sinn der Sache sein sollte.
Während Skriptsprachen gerne mit ihrer hohen Flexibilität (man muss ja nicht mal den Datentypen festlegen) aufwarten, liegt hier auch ein immenser Nachteil dieser Sprachen. Ohne einen bekannten Typ geht hier einfach mal die Typsicherheit verloren, eine nicht unwichtige Eigenschaft moderner Sprachen. Viele Fehler können einfach vermieden werden, wenn eine Überprüfung schon zur Übersetzungszeit eine unerwünschtes Verhalten ergibt. Bei vermeidbaren Problemen ist (
imho) die Arbeit mit untypisierten Pointern ziemlich weit vorne bei (kommt eben drauf an ob man sie wirklich benötigt).
Wenn Du einfach nur Zeiger unter einem bestimmten Namen ablegen möchtest (und natürlich auch wieder zugreifen), dann ist eine Map bzw. ein Dictionary das was Du suchst. In Delphi gibt es da keine all zu ausgereiften Varianten, Du findest aber schnell welche wenn Du in der
DP suchst. Alzaimar hat mal eine Dictionary - Klasse gepostet, die ordentlich in der Perfomance ist und all das leistet, was Du gerne hättest.
Gruß,
Der Unwissende