[SOLVED] LUA intergration in eigenes PB Programm
- TroaX
- Beiträge: 699
- Registriert: 08.03.2013 14:27
- Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Linux Mint | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Linux Mint
- Wohnort: NRW
- Kontaktdaten:
Re: [SOLVED] LUA intergration in eigenes PB Programm
Hatte ich gemacht. Nur dann motzt er wieder bei den Prozeduren. Da muss ich aber mal schauen, wie die Meldung genau war. Bin gerade noch unterwegs.
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Linux Mint
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Linux Mint
NAS: N150 Mini-PC | 16 GB RAM | Debian 13+CasaOS
Coding: Purebasic, Spiderbasic, GDevelop, PHP
Blog: https://techtroax.de
Repos: https://codeberg.org/TroaX
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Linux Mint
NAS: N150 Mini-PC | 16 GB RAM | Debian 13+CasaOS
Coding: Purebasic, Spiderbasic, GDevelop, PHP
Blog: https://techtroax.de
Repos: https://codeberg.org/TroaX
Re: [SOLVED] LUA intergration in eigenes PB Programm
Tag,
um dir und jedem anderen die Arbeit zu ersparen das alte und verstaubte Lua zum Laufen zu bringen, verlinke ich mal zu meiner aktuellen Include-Datei für Lua 5.3.0.
Die passenden x86 und x64 binaries für Windows und das entsprechende .pbi gibt es hier. Damit es funktioniert muss einfach die passende DLL (x64 or x86) in das selbe Verzeichnis wie dein Executable kopiert werden.
Das Include sollte auf jedem Zielsystem laufen (Nur unter windows getestet), beinhaltet nahezu alle Funktionen und Makros der original Header-Datei und behandelt alle übergebenen Strings als UTF-8.
Hier noch ein einfaches Beispiel:
Viel Spaß damit 
um dir und jedem anderen die Arbeit zu ersparen das alte und verstaubte Lua zum Laufen zu bringen, verlinke ich mal zu meiner aktuellen Include-Datei für Lua 5.3.0.
Die passenden x86 und x64 binaries für Windows und das entsprechende .pbi gibt es hier. Damit es funktioniert muss einfach die passende DLL (x64 or x86) in das selbe Verzeichnis wie dein Executable kopiert werden.
Das Include sollte auf jedem Zielsystem laufen (Nur unter windows getestet), beinhaltet nahezu alle Funktionen und Makros der original Header-Datei und behandelt alle übergebenen Strings als UTF-8.
Hier noch ein einfaches Beispiel:
Code: Alles auswählen
UseModule Lua
ProcedureC Test(*Lua_State)
Debug PeekS(lua_tostring(*Lua_State, 1),-1, #PB_UTF8)
ProcedureReturn 0 ; Anzahl der Rückgabeargumente
EndProcedure
; #### Create the Lua-State
*Lua_State = luaL_newstate()
; #### Load some libraries
lua_pushcclosure(*Lua_State, @luaL_openlibs(), 0)
lua_call(*Lua_State, 0, 0)
;lua_callk(*Lua_State, 0, 0, 0, #Null)
; #### Return the lua version
Debug PeekD(lua_version(*Lua_State))
; #### Make our procedure Test() available in lua
lua_register(*Lua_State, "Test", @Test())
; #### Call Test() with some UTF-8 string passed as parameter
Debug luaL_dostring(*Lua_State, "Test('tes㩛ä+¡m↓')")- TroaX
- Beiträge: 699
- Registriert: 08.03.2013 14:27
- Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Linux Mint | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Linux Mint
- Wohnort: NRW
- Kontaktdaten:
Re: [SOLVED] LUA intergration in eigenes PB Programm
Boah geil gleich mal testen. Wenn ich hier jetzt keinen Metallgitterboden hätte würde ich auf Knien rutschen. Vielen Dank 
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Linux Mint
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Linux Mint
NAS: N150 Mini-PC | 16 GB RAM | Debian 13+CasaOS
Coding: Purebasic, Spiderbasic, GDevelop, PHP
Blog: https://techtroax.de
Repos: https://codeberg.org/TroaX
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Linux Mint
NAS: N150 Mini-PC | 16 GB RAM | Debian 13+CasaOS
Coding: Purebasic, Spiderbasic, GDevelop, PHP
Blog: https://techtroax.de
Repos: https://codeberg.org/TroaX