Hm...
Du hast recht, meistens gibt es einen anderen, objektorientierten Ansatz mit dem das Ganze besser funktioniert. In meinem Fall habe ich jedoch folgendes Problem:
Ich habe eine Prozedur mit der ich Delphi Objekte auf den Stack der Scriptsprache Lua schieben kann (PushObject). Dazu verwende ich die
RTTI. Allerdings habe ich ein Problem mit dem Pushen von Methoden, da ich die Parameter über
RTTI nicht herausfinden kann (wenn ich mich irre sagt es mir, wäre nämlich cool). Allerdings möchte ich auch TObject Pushen können, weshalb ein objektorentierter Ansatz (über Vererbung) ausscheidet. (Ich könnte schließlich alle Objekte die ich Pushen will von einer gemeinsamen Basisklasse ableiten, die eine Prozedur hat, die ihre Prozeduren auf dem Stack schiebt.)
Nun habe ich mir überlegt, dass meine "PushObject" Methode ein Event auslöst ("OnPushObject"). So kann ich einfach eine
Unit schreiben, die sich mit diesem Event verknüpft und demnach Prozeduren der Objekte auf den Stack schiebt.
Allerdings sind es mittlerweile so viele Objekte die ich Pushen will, sodass ich sie nach Themenbereichen aufteilen will. Die Game-Settings-Lua Wrapper kommt in die "Settings.pas", der Wrapper für meine "DXComponents" kommt in die "DXLua.pas". Deshalb benötige ich mehr als einen Eventhandler.
Puh. Ich hoffe das war verständlich (mein Standardsatz nach solch langen Beiträgen).
Igel457