Seite 2 von 2
Re: macro problem
Verfasst: 11.06.2011 14:21
von STARGÅTE
Bei einer Userlib lädtst du ja nichts mehr ein, weil es ja zu kompilerzeiten eingebunden wird.
Du kannst dann Beispiel(@Test, 123) sofort nutzen.
Re: macro problem
Verfasst: 11.06.2011 14:56
von ts-soft
Bisonte hat geschrieben:Braucht man das mit dem Import auch wenn es sich nur um eine Userlib handelt ?
Eine UserLib wird durch verwendung der enthaltenen Funktionen Importiert, ein explicieter Import ist nicht nötig / möglich!
Bisonte hat geschrieben: (Ich hatte DLL gesagt, weil es sich ja laut PBHilfe programmiertechnisch um das gleiche handelt)
Ich glaube nicht, das so etwas in der Hilfe steht
Es gibt sehr viele Unterschiede zwischen einer UserLib und einer DLL. Sind zwar alles Feinheiten,
aber darüber sollte man sich im klarem sein.
Gruß
Thomas
PS: passt hier im alten Thread doch etwas besser
Re: macro problem
Verfasst: 11.06.2011 15:10
von Bisonte
ts-soft hat geschrieben:Es gibt sehr viele Unterschiede zwischen einer UserLib und einer DLL.
Naja es wird immer im gleichen Atemzug genannt, daher meine Aussage.
Ok wenn es denn so ist, dann hab ich es wohl geschnallt...
Danke für die Mühen die ich gemacht hab... und sorry für das shanghaien des Threads

Re: macro problem
Verfasst: 23.06.2011 19:25
von kevv
Code: Alles auswählen
Procedure A1(C)
;c=10
Debug C
ProcedureReturn Wert*100
EndProcedure
Procedure A2()
Debug "A200"
EndProcedure
Prototype Beispiel()
Structure ProzedurListe
Beispiel.Beispiel[10]
EndStructure
Define ProzedurListe.ProzedurListe
ProzedurListe\Beispiel[1] = @A1()
ProzedurListe\Beispiel[2] = @A2()
; Nun kannst du sowas machen:
A$ = "2"
Debug ProzedurListe\Beispiel[Val(A$)]()
;ProzedurListe\Beispiel[2-1]()
Und wie kann man hier parameter an die structure übergeben
Und return auslesen?
Re: macro problem
Verfasst: 23.06.2011 19:37
von STARGÅTE
"ganz normal" wie du es auch bei einer Prozedur machen würdest.
Zu beachten ist nur, dass die Definition bei Prototype
exakt mit der Prozedur-Definition übereinstimmen muss.
Code: Alles auswählen
Procedure.s A1(A.i, B.s)
ProcedureReturn B+" "+Str(A)
EndProcedure
Procedure.s A2(A.i, B.s)
ProcedureReturn Str(A)+". "+B
EndProcedure
Prototype.s Beispiel(A.i, B.s)
Structure ProzedurListe
Beispiel.Beispiel[10]
EndStructure
Define ProzedurListe.ProzedurListe
ProzedurListe\Beispiel[1] = @A1()
ProzedurListe\Beispiel[2] = @A2()
Debug ProzedurListe\Beispiel[Val("2")](12, "Platz")
Debug ProzedurListe\Beispiel[1](12, "Platz")
Re: macro problem
Verfasst: 23.06.2011 20:56
von kevv
ahhh ok
hatte einen Fehler drin, aber so gehst
Danke!