Hemos integrado la funcionalidad en el proyecto Jetlua, disponible en https://github.com/tinybiggames/Jetlua

¿PLUA es ligero y potente? Eso integra las secuencias de comandos de Luajit en Delphi, lo que le permite agregar fácilmente una capa de secuencias de comandos a sus aplicaciones Delphi. Ya sea que esté creando un software dinámico, agregando soporte de mod o simplemente buscando una manera de hacer que sus aplicaciones sean más flexibles y personalizables, PLUA lo hace posible a través de API simples y directas.
¿PluA ofrece un puente? Entre Delphi y Luajit, proporcionando una poderosa solución de secuencias de comandos para extender las capacidades de sus proyectos de Delphi. Con PLUA, los desarrolladores de Delphi pueden disfrutar de todos los beneficios de integrar un lenguaje dinámico, rápido y fácil de usar como Lua, mientras aprovechan a Luajit para un alto rendimiento?
Esta biblioteca está diseñada para convertir la integración de Lua en aplicaciones de Delphi lo más fluida posible, centrándose en la usabilidad, la eficiencia y una curva de aprendizaje mínima? Todas las dependencias se compilan directamente en el ejecutable, eliminando la necesidad de DLL externos y haciendo que la implementación sea más simple y confiable ✅.
dbg() en sus scripts de Lua para comenzar la depuración interactiva.import personalizado para combinar scripts, compilarlos en un solo archivo y almacenarlos opcionalmente como un recurso EXE para una aplicación totalmente autónoma.Esta sección lo ayudará a poner en funcionamiento en su entorno Delphi.
Clon o descargue el repositorio PLUA.
Agregue los archivos de origen PLUA a su proyecto Delphi.
? Descargue la última versión de PLUA.
Extraiga el contenido a su directorio de proyecto.
➕ Agregue la carpeta PLUA src a su ruta de biblioteca en Delphi.
En su proyecto, incluya PLUA en la cláusula uses . Para aprovechar las extensiones, agregue PLUA.Ext después de PLUA en la cláusula uses .
? Consulte la carpeta de examples para obtener instrucciones de uso detalladas y demostraciones de la biblioteca PSFML en acción.
¡Eso es todo! Ahora debería poder comenzar a secuestrar con Lua en sus proyectos de Delphi.
Aquí hay algunos ejemplos simples para demostrar cómo integrar PLUA en su proyecto 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 también admite funciones avanzadas como:
dbg() en el código LUA para comenzar a depurar, útil para identificar problemas durante el tiempo de ejecución.import para agrupar varios archivos de script en una sola unidad de compilación, que es útil para guardar y cargar scripts compilados como recursos.CompileToStream() , permitiendo un embalaje y distribución eficientes. La API PLUA ha sido diseñada para ser poderosa y fácil de usar. A continuación se muestra una referencia rápida a las clases y métodos clave:
Las contribuciones a PLUA son muy alentadas. No dude en enviar problemas, sugerir nuevas funciones o crear solicitudes de extracción para expandir las capacidades y la robustez del motor de secuencias de comandos.
PLUA se distribuye bajo el? Licencia de cláusula BSD-3 , que permite redistribución y uso en formularios de origen y binaria, con o sin modificación, en condiciones específicas. Consulte el archivo de licencia para obtener más detalles.
Esperamos que PLUA ayude a hacer que sus proyectos de Delphi sean más dinámicos y flexibles. ¡Feliz codificación! ?

Hecho con ❤️ en Delphi