LinkedList als Procedureaufruf
Verfasst: 01.05.2012 17:53
Mit dem Schlüsselwort "List" kann man "eine Liste" an eine Procedure "übergeben". Das kann man in der Hilfe erlesen, nur in dem kurzen Beispiel wird der Liste in der Procedure gleich ein Typ zugewiesen
Ich möchte in der Procedure aber in erster Linie nur ein LEERES Element hinzufügen. Keine Daten in die Struktur oder Variable schreiben. Hintergrund ist ja nicht so wichtig, hat aber was mit Fehlerabfangen und Statistiken zu tun.
Quasi ein erweitertes "AddElement()".
Jetzt zu meinem Anliegen / Problem. Wenn ich bei der Parameterübergabe einen Typ angebe, dann muß ich auch selben Variablen- / Strukturtyp beim Aufruf nutzen. Der Sinn an sich war allerdings, die Procedure mit unterschiedlichen Liststrukturen nutzen zu können.
Kann ich das eventuell doch machen? Eventuell einfach den Variablentyp weg lassen oder anders? In der Procedure soll der Liste nur ein Element hinzugefügt werden. Datenzugriff soll nicht geschehen. Ist das Möglich?
Ursprünglich wollte ich ein Macro nehmen, allerdings läßt sich das bei mir nicht so schön nutzen, da man keine Rückgabewert angeben kann und Daher den Aufrufenden Code anders gestallten muß (ein ganz wenig). Das wollte ich aber gerade nicht.
geht also so etwas wie:
Gruß
Toshy
Code: Alles auswählen
Procedure DebugList(c.l, List ParameterList.l())
AddElement(ParameterList())
ParameterList() = 3Quasi ein erweitertes "AddElement()".
Jetzt zu meinem Anliegen / Problem. Wenn ich bei der Parameterübergabe einen Typ angebe, dann muß ich auch selben Variablen- / Strukturtyp beim Aufruf nutzen. Der Sinn an sich war allerdings, die Procedure mit unterschiedlichen Liststrukturen nutzen zu können.
Kann ich das eventuell doch machen? Eventuell einfach den Variablentyp weg lassen oder anders? In der Procedure soll der Liste nur ein Element hinzugefügt werden. Datenzugriff soll nicht geschehen. Ist das Möglich?
Ursprünglich wollte ich ein Macro nehmen, allerdings läßt sich das bei mir nicht so schön nutzen, da man keine Rückgabewert angeben kann und Daher den Aufrufenden Code anders gestallten muß (ein ganz wenig). Das wollte ich aber gerade nicht.
geht also so etwas wie:
Code: Alles auswählen
NewList Test.strukturirgendetwas()
Procedure DebugList(c.l, List ParameterList())
*Element = AddElement(ParameterList())
ProcedureReturn *Element
EndProcedure
*Element = DebugList(10, Test())
ChangeCurrentElement(Test(), *Element)
test()\wasauchimmer = 33
Toshy