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.
macro problem
Re: macro problem
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: macro problem
Eine UserLib wird durch verwendung der enthaltenen Funktionen Importiert, ein explicieter Import ist nicht nötig / möglich!Bisonte hat geschrieben:Braucht man das mit dem Import auch wenn es sich nur um eine Userlib handelt ?
Ich glaube nicht, das so etwas in der Hilfe stehtBisonte hat geschrieben: (Ich hatte DLL gesagt, weil es sich ja laut PBHilfe programmiertechnisch um das gleiche handelt)

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
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Re: macro problem
Naja es wird immer im gleichen Atemzug genannt, daher meine Aussage.ts-soft hat geschrieben:Es gibt sehr viele Unterschiede zwischen einer UserLib und einer DLL.
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

PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom
Re: macro problem
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 return auslesen?
Re: macro problem
"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.
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")
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Re: macro problem
ahhh ok
hatte einen Fehler drin, aber so gehst
Danke!
hatte einen Fehler drin, aber so gehst
Danke!