Seite 2 von 2

Verfasst: 22.03.2009 18:43
von mk-soft
Das ende der Parameter kann man nur mit NULL erkennen oder ein Parameter übergeben, wie im Beispiel, mit der Anzahl von Parameter.

Man könnte auch den valistHelper so umschreiben das alle Parameter als Pointer übergeben werden müssen. Somit ist es dann möglich zu prüfen ob noch ein Parameter folgt.

Verfasst: 22.03.2009 18:48
von ts-soft
mk-soft hat geschrieben:Man könnte auch den valistHelper so umschreiben das alle Parameter als Pointer übergeben werden müssen. Somit ist es dann möglich zu prüfen ob noch ein Parameter folgt.
Das wäre doch sinnvoll. Das ich Integer und kleiner so übergeben kann, ist
doch kein Vorteil, besser alles als Pointer, da kann man nichts verkehrt
machen.

Verfasst: 22.03.2009 19:23
von mk-soft
Update v1.05

Alle Argumente als Pointer übergeben

Neue Funktionen:
- va_exist(zeiger)
- va_arg_integer(zeiger)

Siehe Beispiel.

FF :wink:

Verfasst: 23.03.2009 00:20
von Little John
Hallo,

das ist ja interessant!
Funktioniert Deine Methode auch, wenn die Parameter in Registern übergeben werden, so wie Thomas es hier geschrieben hat?

Gruß, Little John

Verfasst: 23.03.2009 00:27
von ts-soft
Little John hat geschrieben:Hallo,

das ist ja interessant!
Funktioniert Deine Methode auch, wenn die Parameter in Registern übergeben werden, so wie Thomas es hier geschrieben hat?

Gruß, Little John
Es werden immer Pointer übergeben, keine Strings!
Hör auf zu Saufen :lol:

Verfasst: 23.03.2009 00:49
von Little John
ts-soft hat geschrieben:Es werden immer Pointer übergeben, keine Strings!
Dann müsste ja meine einfache Methode aus dem anderen Thread mit Pointern auch gehen. :-)

Gruß, Little John

Verfasst: 23.03.2009 00:52
von ts-soft
Little John hat geschrieben:Dann müsste ja meine einfache Methode aus dem anderen Thread mit Pointern auch gehen. :-)

Gruß, Little John
Na klar, Pointer haben immer den Abstand von SizeOf(Integer), aber was
soll das bringen?

Verfasst: 23.03.2009 00:57
von Little John
ts-soft hat geschrieben:
Little John hat geschrieben:Dann müsste ja meine einfache Methode aus dem anderen Thread mit Pointern auch gehen. :-)

Gruß, Little John
Na klar, Pointer haben immer den Abstand von SizeOf(Integer), aber was
soll das bringen?
Ich hatte Dich so verstanden, dass man die Adresse von Parametern nicht zuverlässig bestimmen kann, weil sie manchmal in Registern übergeben werden. Das war der Punkt an dem ich dachte, dass man so nicht weiter kommt. Wozu man sowas machen will ist ne ganz andere Frage.

Gruß, Little John

Verfasst: 23.03.2009 01:01
von ts-soft
Das ist vom Parametertyp abhängig, der ist hier immer gleich, ein Pointer.
Der ist auch immer gleich gross.

Verfasst: 23.03.2009 01:18
von Little John
Ach so. Dann hatte ich das, was Du in dem anderen Thread mit cxAlex diskutiert hast, falsch verstanden.
Sorry v.a. an mk-soft, wenn das hier in diesem Thread deplaziert ist.

Gruß, Little John