Buen día.
Les comento he hecho una actualización grande a Kodnet.
Ahora es más rápido y está escrito con mejores prácticas de programación. El código anterior realizaba una compilación a partir de código C# generado al vuelo, con cada tipo (System.Type) o clase de .NET , lo cual añadía carga, cada que se usaba una nueva clase de .NET. Ahora en cambio se omite este paso, y se exponen dinámicamente las propiedades y métodos de cada objeto compartido desde .NET a VFP, incrementando el rendimiento.
Se ha mejorado la creación de delegados, generando unas nuevas clases que permiten compartir de manera adecuada objetos desde VFP a .NET y evitar algunas condiciones raras que se producían antes.
Se ha mejorado además el control de excepciones desde VFP, permitiendo obtener el objeto System.Exception de .NET cuando ocurre algún error en la ejecución.
Ahora no solo permite interoperabilidad con .NET sino también con Node.js (kwruntime), permitiendo ejecutar código javascript/typescript con todo el ecosistema de NPM (aún no ha sido documentado, y por ahora solo disponible por medio de .NET Framework).
Y otra de las grandes mejoras, ha sido en el soporte de .NET 6 tanto de 32 bits como de 64 bits. El nuevo repositorio del proyecto de C#, contiene tanto el código fuente para .NET Framework 4.5+ como para .NET 6+. Para probarlo pueden seguir las instrucciones de instalación:
https://github.com/foxshell/kodnet. Un solo instalador permite usar todas las funcionalidades: Interoperabilidad con .NET Framework, .NET 6 y Node.js
A tener en cuenta:
.NET 6 funciona un poco diferente al .NET Framework, y es necesario instalar el Runtime apropiado para cada arquitectura. Por ejemplo, si se va a usar kodnet en VFP8,VFP9 o VFP Advanced 32 bits, es necesario instalar el .NET Runtime x86, pero si se usa con VFP Advanced 64 bits es necesario instalar el .NET Runtime x64.
Pueden probarlo y reportar si surge algún error directamente en la página del proyecto.
Recuerden que pueden colaborar de diferentes problemas:
- Probando esta nuevas funcionalidades y reportando errores
- Escribiendo código que ayuda a mejorar la comunicación entre .NET y VFP
- Escribiendo nuevas librerías para VFP basadas en Kodnet
- Por medio de donaciones
- Cotizar desarrollos basados en Kodnet
Saludos.