我們已將功能集成到Jetlua項目中,請訪問https://github.com/tinybiggames/jetlua

Plua是輕量級和強大的嗎?這將Luajit腳本集成到Delphi中,使您可以輕鬆地在Delphi應用程序中添加腳本層。無論您是構建動態軟件,添加MOD支持,還是只是尋找一種使您的應用程序更靈活和可定制的方法,PLUA都可以通過簡單,直接的API來成為可能。
Plua提供橋樑?在Delphi和Luajit之間,提供了強大的腳本解決方案,以擴展您的Delphi項目的功能。借助PLUA,Delphi開發人員可以享受嵌入動態,快速且易於使用的腳本語言(例如Lua)的所有好處,同時利用Luajit來獲得高性能? 。
該庫旨在使LUA盡可能無縫地集成到Delphi應用程序中,重點關注可用性,效率和最小的學習曲線?所有依賴項都直接編譯到可執行文件中,從而消除了對外部DLL的需求,並使部署更簡單,更可靠。
dbg()開始交互式調試。import命令將腳本組合在一起,將其編譯到一個文件中,並選擇將它們存儲為完全獨立的應用程序的EXE資源。本節將幫助您在Delphi環境中啟動並運行PLUA。
克隆或下載PLUA存儲庫。
將PLUA源文件添加到您的Delphi項目。
?下載最新版本的PLUA。
將內容提取到您的項目目錄。
➕將PLUA src文件夾添加到Delphi的庫路徑。
在您的項目中,在uses條款中包括PLUA 。要利用擴展名,請在uses條款中添加PLUA.Ext PLUA之後。
?請參閱examples文件夾以獲取詳細的用法說明和PSFML庫的演示。
就是這樣!現在,您應該能夠在Delphi項目中開始使用LUA腳本。
以下是一些簡單的示例,可以演示如何將PLUA整合到您的Delphi項目中:
var
Lua: TLua;
begin
Lua := TLua.Create();
Lua.LoadString( ' print("Hello from Lua!") ' , False);
Lua.Run();
Lua.Free();
end ; procedure MyDelphiRoutine (ALua: ILuaContext);
begin
// Example routine that pushes a string result onto Lua stack
ALua.PushValue( ' Hello from Delphi! ' );
end ;
var
Lua: TLua;
begin
Lua := TLua.Create();
Lua.RegisterRoutine( ' DelphiRoutine ' , MyDelphiRoutine);
Lua.LoadString( ' DelphiRoutine() ' , False);
Lua.Run();
Lua.Free();
end ; var
Lua: TLua;
Result: TLuaValue;
begin
Lua := TLua.Create();
Lua.LoadString( ' function greet() return "Hello from Lua!" end ' );
Result := Lua.Call( ' greet ' , []);
ShowMessage(Result.AsString);
Lua.Free();
end ;PLUA還支持高級功能,例如:
dbg()開始調試,可用於在運行時識別問題。import將各種腳本文件捆綁到單個彙編單元中,這對於保存和加載編譯的腳本作為資源很有用。CompileToStream()將LUA腳本編譯為字節碼,從而允許有效的包裝和分發。 PLUA API的設計既強大又易於使用。以下是關鍵類和方法的快速參考:
強烈鼓勵對PLUA的貢獻。請隨時提交問題,建議新功能或創建拉動請求,以擴大腳本引擎的功能和魯棒性。
PLUA分佈在? BSD-3-clause許可證,允許在特定條件下進行或不進行修改的源和二進制形式的再分配和使用。有關更多詳細信息,請參見許可證文件。
我們希望PLUA幫助您的Delphi項目更具動態和靈活性。愉快的編碼! ?

用❤️在德爾菲製造