[SOLVED] LUA intergration in eigenes PB Programm

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
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

Beitrag von TroaX »

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
Benutzeravatar
Dadido3
Beiträge: 119
Registriert: 24.02.2007 22:15
Kontaktdaten:

Re: [SOLVED] LUA intergration in eigenes PB Programm

Beitrag von Dadido3 »

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:

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↓')")
Viel Spaß damit ;)
Benutzeravatar
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

Beitrag von TroaX »

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
Antworten