Archivo

Entradas Etiquetadas ‘Delphi’

KAI: Inteligencia artificial integrada en el IDE de Delphi

miércoles, 23 de septiembre de 2026 1 comentario
Share Button

La idea de esta entrada (y las siguientes) es evaluar KAI para Delphi, Qué es, cómo se instala y configura, cómo funciona su integración con el IDE, problemas que encuentro,…

Introducción

Embarcadero ha presentado recientemente Kai, un nuevo plugin para RAD Studio, que incorpora capacidades de inteligencia artificial directamente en el entorno de desarrollo. Su objetivo no es limitarse a completar líneas de código, sino convertirse en un asistente capaz de participar en distintas fases del desarrollo: desde la creación de una interfaz hasta la compilación, depuración, refactorización y modernización de una aplicación.

Kai funciona como un agente integrado en el IDE. El desarrollador puede describir en lenguaje natural lo que necesita y pedirle, por ejemplo, que genere una nueva funcionalidad, cree una pantalla VCL o FireMonkey, analice varios ficheros del proyecto, explique un fragmento de código o ayude a corregir errores de compilación. También puede utilizarse para trabajar progresivamente sobre una aplicación existente, algo especialmente interesante en proyectos Delphi antiguos que necesitan actualizar su interfaz o incorporar nuevas características.

Una de sus principales ventajas es que no depende de un único proveedor de inteligencia artificial. Kai utiliza un modelo BYOK —Bring Your Own Key—, que permite configurar las credenciales y servicios elegidos por el desarrollador. Entre las opciones compatibles se encuentran GitHub Copilot, OpenAI, Claude, Gemini y modelos locales, según la configuración y versión utilizada. De este modo, es posible escoger el modelo más adecuado según la tarea, el coste, el rendimiento o los requisitos de privacidad.

Además del chat del agente, Kai ofrece sugerencias de código integradas en CodeInsight, autocompletado en línea y un panel desde el que comparar distintas propuestas. El agente también puede interactuar con el proyecto y automatizar tareas mediante integraciones basadas en MCP, lo que amplía su utilidad más allá de una conversación aislada.

En definitiva, Kai pretende transformar RAD Studio en un entorno de desarrollo más asistido y productivo, manteniendo al programador al mando. No sustituye el conocimiento de Delphi, pero puede reducir el tiempo dedicado a tareas repetitivas y facilitar tanto la creación de nuevas aplicaciones como la evolución de proyectos existentes.

Instalación de KAI

La instalación de KAI se puede hacer directamente desde GetIt!. Se descargará la última versión existente compatible con la versión del IDE directamente y se instalará.
Si queremos probar alguna de las otras versiones, los links a todas las versiones están a continuación:

  • 1.0: https://altd.embarcadero.com/getit/installer/components/KAI/KAI-370-1.0.0.zip
  • 1.0.2: https://altd.embarcadero.com/getit/installer/components/KAI/KAI-370-1.0.2.zip
  • 1.1: https://altd.embarcadero.com/getit/installer/components/KAI/KAI-370-1.1.0_02.zip

¿Porqué he puesto estos links?

Porque las primeras pruebas que yo he realizado las he hecho con la versión 1.0. Con las versiones posteriores he tenido algunos problemas en la configuración de los servicios de Github Copilot, así que mientras resuelvo esos temas, he decidido empezar a probar con la versión inicial. En las siguientes entradas actualizaré la versión y comentaré cómo ha ido el proceso.

Podéis encontrar más información sobre la instalación de KAI en la documentación de Embarcadero (link).

Puesta en marcha…

Una vez instalado este plugin, hay que configurar el servicio de IA que queramos utilizar. Vuelvo a comentar que KAI no es más que una integración en el IDE de Delphi de diferentes servicios de IA, no es un agente de IA en si mismo. En concreto, y según la documentación, KAI proporciona acceso a más de 40 agentes de IA, incluidas opciones conocidas como GitHub Copilot, OpenAI, Anthropic Claude, Google Gemini CLI, y agentes adicionales como Antigravity, Grok, Mistral, Cursor, Devin, Kilo Code y Junie.

El licenciamiento de KAI se gestiona igual que la licencia del propio RAD Studio y funciona como un producto separado. Desde el «License Manager» de RAD Studio veremos el estado de nuestra licencia, podremos añadirla, actualizarla,… Podéis disponer de una licencia de prueba (al igual que el resto de productos de embarcadero para evaluarlo). Los pasos para solicitarla los tenéis aquí (link a la web de Embarcadero).

Una vez tengamos licenciado KAI, debemos configurarlo en el IDE.

Configuración de KAI

Las configuraciones de KAI se acceden desde el IDE en: Tool/Options…/KAI.
Ahí podemos acceder a la configuración de «Code Completion» y la del «Chat», que son de las que vamos a hablar inicialmente.

Para el «Code completion» usando IA, tenemos 2 opciones:

  • Ghost Text: que mostrará en texto sugerido a continuación del actual (en cursiva)
  • CodeInsight Symbol: Mostrará el texto sugerido en la parte superior de la lista de sugerencias (marcado como Kai)

Os adjunto 2 imágenes donde se ve la diferencia de la visualización:

 

 

 

 

 

 

 

.

La primera de las imágenes es la visualización como «Ghost Text» y la segunda dentro del Codeinsight.

La segunda configuración es la referente al Chat, con la que interactuaremos con el Agente de IA configurado.

Primeras impresiones

Para empezar vamos aprobar con algo sencillo. Generar un programa «Hola mundo!», compilarlo y ejecútalo.

Utilizo el siguiente prompt:
«En esta carpeta de disco:
«c:\ProyectosDelphi\Proyectos KAI\HolaMundov1»
Genérame un proyecto de VCL con un único botón que al pulsarlo muestre un mensaje de «Hola mundo!»
Compílalo y ejecútalo desde el IDE de Delphi.»

KAI nos pide permisos para acceder a los directorios de disco.

Una vez finalizado el proceso nos ha generado el proyecto, lo ha grabado en disco, lo compila y lo ejecuta sin problemas en apenas unos segundos. La primera impresión es buena aunque me deja un mal regusto algunos problemas que tiene al generar los ficheros DPROJ. Eso provoca errores (relacionados con XML) en el IDE. Para KAI todo es correcto, porque él por defecto realiza la compilación fuera del IDE. Sólo me ha pasado en algunos casos y lo achaco a esta primera versión 1.0.

Para evitar continuos avisos, deberéis desactivar el aviso cuando un fichero se modifica en disco «Ask to reload modified files» (apartado Editor), en la configuración del IDE.

Hasta aquí esta primera entrada. La primera impresión es buena, y vistos algunos problemas, para las siguientes actualizaré la versión de KAI para ver si se corrigen. Recuerdo que no estoy probando cómo funciona un agente de IA (en este caso estoy usando Github Copilot) sino la integración con el IDE.

Comentarios, sugerencias, propuestas, como siempre son bienvenidas.

Hasta la próxima.

 

 

 

Delphi 13.2 Florence: Avances en rendimiento, productividad y desarrollo multiplataforma

viernes, 18 de septiembre de 2026 Sin comentarios
Share Button

Embarcadero ha anunciado la disponibilidad de Delphi 13.2 Florence, una nueva actualización de RAD Studio que según lo que nos cuentan, introduce mejoras significativas en el compilador, las herramientas de desarrollo y el soporte para plataformas modernas. Esta versión refuerza especialmente aspectos relacionados con el rendimiento de las aplicaciones, la productividad de los desarrolladores y la evolución de los entornos Windows, Linux y dispositivos ARM.

Os dejo los links relacionados por si os interesa saber más detalles y leer un poco más al respecto:

Me han llamado especial atención, la integración del componente Navigator directamente en el IDE, facilitando la exploración y navegación por proyectos de gran tamaño. Esta funcionalidad permite localizar con mayor rapidez clases, métodos y otros elementos del código fuente. A ver si resulta útiles para los que trabajamos con proyectos grandes.

También los nuevos controles para aplicaciones VCL pensados para facilitar la navegación, TTabView y TNavigationView. Si tengo tiempo haré una nueva entrada en el blog específica para evaluarlos y darles un primer vistazo.

Y en general mejoras en otros aspectos que tenéis detalladas en los links anteriores.

Como siempre comentarios, sugerencia y opiniones son bienvenidas.

Hasta la próxima.

Categories: Delphi Tags: , , , ,

¡Ya está aquí Delphi 13 Community Edition!

jueves, 17 de septiembre de 2026 Sin comentarios
Share Button

¡Buenas noticias para la comunidad! Embarcadero ha anunciado oficialmente el lanzamiento de Delphi 13 Community Edition (como ya hizo con las anteriores), permitiendo que programadores independientes, estudiantes, aficionados y pequeñas empresas emergentes accedan de forma gratuita a una de las herramientas de desarrollo multiplataforma más potentes del mercado.

Muchos años nos ha costado y muchas peticiones a Embarcadero poder disponer de una versión totalmente funcional de Delphi que pudiéramos usar para probar y desarrollar sin tener que limitarnos a la versión Trial de Delphi de 30 días. Desde ya hace unas cuantas versiones, Embarcadero publica la versión Community y yYa tenemos aquí la actualización a la última versión, la 13.

Como siempre, recomiendo antes de instalarla y utilizarla, leer bien lo que podemos y no podemos hacer con esta versión. Es verdad que es gratuita, pero tiene sus limitaciones, sobre todo en relación a los entornos empresariales.

¿Qué trae de nuevo esta edición «Community»?

Heredando todas las mejoras clave de la potente familia RAD Studio 13 Florence, esta edición gratuita no escatima en funcionalidades esenciales para el desarrollo moderno:

  • IDE de 64 bits: Disfruta de una experiencia de desarrollo mucho más fluida, rápida y capaz de manejar proyectos complejos de gran envergadura sin limitaciones de memoria.

  • Innovación y soporte de IA: Incorporación de componentes y facilidades orientadas a la inteligencia artificial para potenciar la productividad en la escritura de código.

  • Desarrollo multiplataforma optimizado: Crea aplicaciones nativas de alto rendimiento para Windows, macOS, iOS y Android desde una única base de código.

  • Mejoras en el lenguaje: Nuevas extensiones en Object Pascal que facilitan un código más limpio, moderno y fácil de mantener.

Os dejo el link de descarga a la web de embarcadero.

A disfrutarla!

 

 

Publicar nuestra aplicación EXE/MSI en la tienda de Microsoft

jueves, 5 de marzo de 2026 Sin comentarios
Share Button

Continuando con la entrada entrada anterior y una vez vistos los diferentes tipos de aplicaciones que podemos publicar en la tienda de Microsoft, vamos a ver los pasos necesarios y las configuraciones que debemos realizar para publicar una aplicación en formato EXE/MSI.

Roadmap de las entradas

Introducción

Lo primero que necesitamos (ya lo comenté en la entrada anterior) es crearnos una cuenta de desarrolladores para poder publicar.
Desde aquí (https://partner.microsoft.com/es-es/partnership) podemos darnos de alta con un correo que ya tengamos o crear una nueva desde cero. Debemos rellenar  la información que se nos solicita para dar de alta la cuenta como desarrolladores y una vez completada, accederemos al «Centro de partners de Microsoft«. En esta página tenemos acceso a «Nuevo producto«, que es el punto de entrada para comenzar el proceso de dar de alta la nueva aplicación.

 

Aplicación; Reservar nombre

Para escribir la entrada, voy a utilizar una aplicación que ya tengo, para no desviar el tema en crearla. Se trata de un sencillo widget de escritorio (Widget Información Batería) y que tal como dice su nombre, muestra el nivel de batería restante, tiempo estimado y algunos datos más de la batería. Un poco más adelante explico más detalles.
Lo primero que debemos hacer para publicar nuestra aplicación es «reservar un nombre«. Comprobar si está disponible desde la página de aplicaciones y si está disponible reservarlo.

Será el nombre visible de nuestra aplicación en la tienda.

Una vez reservado el nombre (si está disponible), este quedará bloqueado durante un tiempo (unos días) a nuestra disposición.

Generar nuestra aplicación

Hay algunos detalles que debemos tener en cuenta a la hora de generar nuestra aplicación. La tienda de aplicaciones gestiona las actualizaciones de forma automática, así que es importante (o mejor dicho obligatorio) el versionado correcto de nuestros programas. Igualmente la aplicación debe estar compilada en Release (esto no sólo para publicar en la tienda, sino siempre que se distribuyan).

Modificaremos las opciones del proyecto (Application/Version Info) para añadir la versión de la aplicación. Recomiendo usar sólo los 2 primeros números (Major y Minor version). Y desactivar todos los checks de «Module attributes» (Buils especial, Debus build, pre-release, private,…)

En este caso y para ilustrar esta entrada, voy a usar una aplicación que ya tengo disponible. Se trata de un pequeño Widget de escritorio, que informa del estado de la batería del equipo. Una vez esté subida a la tienda os pondré el link para poder descargarla (ahora que he completado el artículo ya la tenéis disponible aquí).
Muestra un Widget como el que se ve en la imagen.
Dispone de un menú junto al reloj (accesible mediante un icono) que permite cambiar las opciones básicas de la aplicación.

Podemos cambiar el nivel de transparencia y el tiempo de refresco. Si se prueba en un equipo sin batería presente mostrará unos datos de ejemplo. Sencilla, pero suficiente para ilustrar esta entrada.

Esta aplicación escribe en el registro de Windows (para autoiniciarse al arrancar Windows si se lo configuramos), se instala en «Archivos de programa» y guarda en Appdata un fichero de configuración, con algunos datos básicos. Para generar el instalable usaré Inno Setup.

Necesitaremos un instalador y un certificado

En mi caso, como ya he comentado, voy a utilizar como instalador «Inno Setup», gratuito y muy potente y del que ya he hablado en otras ocasiones en el blog. Podéis descargarlo desde su web (https://jrsoftware.org/isinfo.php) y yo recomiendo también utilizar el complemento «Inno Script Studio»; Es un programa también gratuito y que facilita mucho el trabajo de crear el script de instalación, utilizando un asistente.

Para poder subir la aplicación a la tienda, necesitamos que esté firmada.
Debemos firmar el ejecutable una vez generado y el instalador. En el caso de «Inno Setup», se puede configurar desde sus opciones, para que genere añada la firma una vez generado el programa de instalación. También podéis generar un BAT sencillo que firme cualquier ejecutable, utilizando estos comandos (utiliza la herramienta signtool de Microsoft):

"_PATH_\signtool.exe" sign /f 
"_PATH_FICHERO_PFX_.pfx" /p "_PASSWORD_" /tr "http://timestamp.sectigo.com" /td sha256 /fd sha256 "_PATH_FICHRO_EXE_.exe"

Habrá que modificar los path de los ficheros y la contaseña del certificado y os servirá para firmar tanto el ejecutable de la aplicación, como el ejecutable del instalador.

Si no disponemos de un certificado para firmar, podemos generar uno desde el IDE de Delphi siguiendo los siguientes pasos, que nos servirá para probar la publicación de nuestras aplicaciones:

  1. Abrir un proyecto VCL o generar uno nuevo
  2. Acceder a las propiedades del proyecto, sección  Deployment/Provisioning
  3. Seleccionar:
    • Target: Release Configuraction (indistintamente 32 o 64 bits)
    • Build Type: Windows 32/64 – bit – Application Store
    • Distribution Type: Ad hob
  4. Desde esta pantalla podemos pulsar el botón de [Create self-signed certificate…] y rellenar estos datos (no «estos» estrictamente, sino unos similares) para generar vuestro certificado:

    Podéis ver el proceso completo, si queréis más detalles, en esta entrada de la web de embarcadero.

Ahora que ya disponemos de certificado, podemos firmar el ejecutable y el instalador, tal y como os he descrito antes.

Subir la aplicación a la tienda

Lo que nos queda ya sólo es subir la aplicación a la tienda de Microsoft. No es un proceso complejo, pero es elaborado, ya que hay que seguir un asistente y completar varios pasos con toda la información necesaria de la aplicación:

  • Añadir información sobre el desarrollador.
  • Añadir información sobre la aplicación (categoría, Idiomas soportados, características,…)
  • Añadir información de descarga y del instalador (políticas de privacidad, licencia,…)
  • Añadir los idiomas para la tienda. Y para cada idioma deberemos añadir capturas de pantalla, descripciones, imágenes de la aplicación, un logotipo,…

Una vez completados todos los datos, pulsamos el botón de [Enviar]. En ese momento el estado cambia y entraremos en un proceso de «Revisión» por parte de Microsoft. Pasados 1 día o 2 recibiréis información de si la aplicación está «aceptada» y disponible o si tenéis que completar algún dato que falta o es insuficiente.

A continuación os adjunto una animación con algunas de las pantalla que podéis en el asistente para dar de alta la aplicación.

Una vez que la revisión acabe, si la aplicación ha pasado las revisiones, tendréis una imagen como la que se muestra a continuación.
La aplicación ya estará disponible para descarga, como lo está la que hemos visto en el artículo.

Hasta aquí esta entrada, como siempre los comentarios, sugerencias, y demás siempre son bienvenidas.
Hasta la próxima.

 

Librería GLibWMI v.3.3 actualizada para Delphi 13 (Florencia)

viernes, 23 de enero de 2026 Sin comentarios
Share Button

Ya hace unos meses que está disponible Florencia, la versión 13 de RAD Studio.
Anunciar que ya está disponible para descarga desde Github, la versión 3.3 de la librería GlibWMI, que soporta Delphi 13 y anteriores.
Podéis descargarla desde el repositorio, además de poder consultar toda la información acerca de ella:
https://github.com/germanestevez/GLibWMI

Tenéis la información completa en la sección de componentes del blog.
Ya está disponible a través de GetIt, como las versiones anteriores.

Si la estáis usando en algún proyecto y queréis que lo incorpore a la documentación dadme el nombre y la URL/web y haré mención de él.
Cualquier duda o comentario estoy a vuestra disposición.

Un saludo y hasta la próxima!

#delphiday ¡Delphi y C++ Builder Iberian Tour 2025!

jueves, 5 de junio de 2025 Sin comentarios
Share Button

Pues como cada año ya está en marcha la organización del «Delphi y C++ Builder Iberian Tour 2025!». El #delphiday para nosotros.
Para los que tengáis oportunidad de asistir, siempre es una gran ocasión de conocer novedades, conocer a otros programadores y gente de la comunidad.

Este año las ciudades escogidas son Valencia y Sevilla. Aquí os dejo los link a la web de Danysoft.

Aquí tenéis los links a las páginas de Danysoft donde está la información completa y el registro para ambos:

Valencia 10 de junio
 Sevilla 11 de junio

Del evento de Sevilla tenéis más datos (Agenda y ponentes) en esta publicación de Emilio.

A disfrutarlo los que podáis asistir!!!

Un saludo.

Primera versión pública de la aplicación DebugStringView (v.1.1)

martes, 1 de abril de 2025 2 comentarios
Share Button

Hace unos días ya hablé en esta entrada de la API de Windows OutputDebugString y de cómo nos puede ser útil en nuestro día a día de programar cuando realizamos debug de nuestros programas.

También comenté en su día sobre algunas herramientas que nos ayudan a visualizar los mensajes que desde nuestras aplicaciones enviamos a la consola de debug. Las he utilizado (las 2 que comento en la entrada) y funcionan bien, pero al final no se ajustan a lo que a mi me gustaría o no tienen todo lo que a mi me gustaría que tuvieran; Algunas características están disponibles en una y al gunas en la otra. Así que mi decisión ha sido crear una nueva «a mi gusto» que tenga todo lo que yo quiero o necesito.

Tal vez no esté todo en esta primera versión, pero mi idea es ir completándola poco a poco con más características que tengo en mente.  De aquí es de dónde ha salido este nuevo proyecto (herramienta DebugStringView).

El código fuente está disponible en mi repositorio de Github y es gratuita y de libre uso. Para no alargar más esta entrada de «Presentación» os remito a la propia de la aplicación, ahí tenéis más información.

https://neftali.clubdelphi.com/debugstringview/

Ahí será donde vaya actualizando todo lo referente a esta herramienta.
Para descargar binarios podéis hacerlo desde aquí (página específica de la aplicación) , donde ya está disponible la descarga de los binarios (32 y 64 bits) en formato ZIP. No requiere instalación.

Para los que la utilicéis, os agradecería que me enviaseis comentarios y por supuesto posibles errores que encontréis y cualquier sugerencia de mejora que consideréis.

Ya disponible la versión 12.3 Athens de Delphi!

lunes, 24 de marzo de 2025 2 comentarios
Share Button

Desde hace unos días (voy un poco tarde, ya lo se… ;-) ) ya está disponible la versión 12.3 (Athens) de Delphi para su descarga. Bastantes novedades y enfocado como en las últimas, en las mejoras y en la estabilidad del IDE.

Un recorrido rápido por la novedades que nos podemos encontrar en esta versión pasa por lo siguiente:

IDE de 64 bits.

Nosotros llevábamos tiempo pidiéndolo y Embarcadero lleva tiempo trabajando en él. Con el IDE de 64 bits desaparecen muchos de los problemas y limitaciones que nos encontramos con el actual IDE de 32 bits. Hay que tener en cuenta que es una primera versión y es una «Initial Release». No debemos perderlo de vista, pero es un comienzo para lo que será una de las mejoras más importante de las últimas versiones. Ahora al acabar la instalación, en el escritorio, nos aparecerá un segundo icono muy similar al de siempre, pero con la marca de 64 bits.

Android target API Level 35

Para los que desarrollan para Android, esta versión incluye la API level 35 y la instalación por defecto añade el NDK 27.1

BLE y Bluetooth

La versión 12.3 se centra en mejorar la calidad de nuestra compatibilidad con Bluetooth en todas las plataformas compatibles.

Smart CodeInsight

Mejoras sobre todo en la integración de modelos de IA en el CodeInsight (nuevo motor que se introdujo en la versión 12.2). A continuación podéis ver  una imagen con las nuevas opciones de configuración para los modelos de IA disponibles.

Mejoras y ampliación de la funcionalidad de la ventana de chat del Smart CodeInsight.

Compilador

El compilador de la versión 12.3 es más rápido y eficiente. Según la documentación las pruebas muestran que esta versión es hasta un 15 % más rápido en tareas comunes. Si formateas los archivos fuente como UTF-8 con BOM, puedes aumentar la velocidad del compilador entre un 5-6 % más. Aunque los resultados pueden variar, podrías ver una mejora de hasta un 20 % en la velocidad de compilación con esta versión.

WebStencils

Mejoras en WebStencils; La biblioteca de plantillas HTML introducida en RAD Studio 12.2, se ha ampliado con nuevas funcionalidades:

  • Permite usar la misma sintaxis para acceder a subtablas en conjuntos de datos anidados.
  • El procesamiento del símbolo «@» es más flexible cuando no está relacionado con una directiva WebStencils.
  • Esta versión mejora la gestión de caracteres UTF8 en RAD Server.

Hay más novedades y podéis consultarlas directamente en la web de Embarcadero.

Además en la wiki de Embarcadero tenéis una lista de errores y correcciones más importantes, para esta versión.

IMPORTANTE!!
Por cierto, todavía estáis a tiempo si queréis registraros en el evento online por parte de Danysoft (partner de Eembarcadero en la península) que se celebra mañana día 25 de Marzo.
«Mira lo que viene en RAD Studio 12.3 Athens» (registro)
Día 25 de marzo de 2025. Hora: 12:00 h CET.

Lo presenta Antonio Zapater, consultor de Embarcadaero y MVP.

Otros artículos relacionados…

Si queréis leer más al respecto, además de la documentación oficial, os dejo links de otras web y blogs relacionados con el lanzamiento.

Un saludo y hasta la próxima.

Función OutputDebugString: Un avance en tu código

miércoles, 12 de marzo de 2025 3 comentarios
Share Button

Muchos de vosotros seguro que ya habéis utilizado esta función de Windows durante el desarrollo y prueba de nuestros programas. Para los que no la habéis utilizado, la definición formal podría ser la siguiente:

«OutputDebugString es una función de la API de Windows que permite enviar mensajes de depuración al visor de depuración de Windows. Estos mensajes pueden ser utilizados para realizar depuración y diagnóstico de aplicaciones en tiempo de ejecución.»

Seguro que todos, en algún momento de nuestra vida como programadores, hemos utilizado un ShowMessage en nuestro programa para mostrar una información de debug (o de log) por pantalla. Esto tiene sus inconvenientes y riesgos, como que en un momento dado se nos haya escapado uno de esos ShowMessage y haya acabado en un cliente final Decepcionado .

Para evitar esos posibles problemas podemos utilizar la función OutputDebugString. Desde Delphi basta con añadir la unit Windows a nuestro código para poder utilizarla.

Por ejemplo, si creamos un proyecto de consola como este y lo ejecutamos:

program Project1;
 
{$APPTYPE CONSOLE}
 
{$R *.res}
uses
  Windows, System.SysUtils;
 
begin
  var i:integer;
  while i < 10 do begin
    OutputDebugString(PChar(' ==» Mensaje ' + i.ToString + ' **'));
    Inc(i);
  end;
end.

Aparentemente al ejecutar nuestro programa no pasa nada, y no vemos nada en pantalla, pero si activamos la ventana de Eventos en el IDE (View / Debug Windows / Events  CTRL+ALT+V) debería salir algo como esto:


En el IDE de Delphi disponemos de muchas herramientas para depurar/debuggar nuestros programas y esta es una de ellas, pero ¿qué pasa cuando no disponemos del IDE? (por ejemplo, porque necesitamos probar un programa en un cliente y obtener información de lo que está pasando).

Podemos utilizar alguna de estas herramientas que nos permiten ver los mensajes de debug (generados con OutputDebugString):

La visualización que obtenemos con esta herramientas es la siguiente:

Dentro de las opcines del IDE (Tools/Options/Debugger) podemos realizar modificaciones en lo que se refiere a los mensajes de debug que podemos visualizar dentro de la ventana de Event log.

Por último una recomendación personal. Para evitar que nuestros mensajes de Debug puedan llegar a una versión de cliente, es buena práctica utilizar condicionales en el código, de esta forma podemos asegurarnos que en nuestros ejecutables compilados en DEBUG, sí aparecen los mensajes, pero los compilador en RELEASE (copias finales de cliente) no aparecen.

Símplemente debéis crear un procedimiento como el siguiente:

procedure _DebugStr(const aMensaje:string);
begin
{$IFDEF DEBUG}
  OutputDebugString(PChar(aMensaje));
{$ENDIF}
end;

 

Hasta aquí esta entrada, que está centrada en el uso de la función y en cómo sacarle partido. Más adelante veremos cómo generar código para capturar estos mensajes y mostrarlos donde nos interese, e incluso una aplicación «a medida» que se ajuste a lo que necesitamos.

Referencias:

Un saludo y hasta la próxima.

 

 

Categories: API, Código, Debug, Delphi, OOP Tags: , , , ,

Componente TFormTabsBar en Delphi (aplicaciones con interfaz de pestañas)

miércoles, 12 de febrero de 2025 5 comentarios
Share Button

Interfaz en pestañasTFormTabsBar es un componente que ha llegado en la versión 12 de Delphi y que nos va a permitir generar nuestra aplicación con una interfaz basada en pestañas como patrón de diseño (además de otras opciones). Este componente del que ya he hablado anteriormente en la entrada que trataba los proyectos con Interfaz MDI. En esta ocación me voy a centrar en una característica que vimos de pasada en aquel artículo, pero que es aplicable a todas nuestras aplicaciones (no sólo las de interface MDI). Aunque posiblemente después de aquella entrada nos haya quedado la sensación de que sólo podemos sacarle partido en los formularios MDI (embarcadero ha creado de nuevo el soporte para este tipo de interface), este componente se puede usar también con aplicaciones SDI.

Para nosotros y de cara a nuestros proyectos, digamos que este componente nos facilita el trabajo de albergar multiples formularios en un interface de usuario basado en pestañas (el exponente más claro de esto son los navegadores actuales).

Leer más…