Documentation
Sin asistente, sin registro COM, sin derechos de administrador: dos archivos que copiar y luego coloca el componente como cualquier control de PowerBuilder.
Copie pbtoolboxai.pbl en la carpeta de su aplicación y añádala a la library list del target. Las declaraciones de external functions ya están en el antecesor: nada que volver a declarar.
Un único archivo autónomo, pbtoolboxai.dll: los paquetes web, los temas y los diccionarios van incrustados en él. La copia x86 se pone junto a pbXXX.exe para el IDE, y la x64 junto a un ejecutable de 64 bits.
Insert → Control → User Object, elija u_pbt_statictext, póngale nombre y tamaño. En el painter muestra un marco gris: la representación real ocurre en ejecución.
Asigne las propiedades, escriba los events. Los comandos emitidos antes de que el componente esté listo se ponen en cola y se reproducen: no hay ningún orden de inicialización que respetar.
// Window constructor -- the component is not created yet : these commands
// are queued and replayed as soon as it is ready.
uo_text.is_theme_style = uo_text.THEME_STYLE_FLUENT
uo_text.is_theme_mode = uo_text.THEME_MODE_DARK
uo_text.is_text = "Welcome to [b]PBToolboxAI[/b] !"
uo_text.is_align = uo_text.ALIGN_CENTER
uo_text.il_text_color = RGB(0, 103, 192)
// ue_clicked event of u_pbt_statictext
Open(w_detail)
Lo que aprende en un componente sirve para todos los demás: mismos prefijos, mismas convenciones, mismos códigos de retorno.
uo_texto.is_text = "Hola" — ningún setter que recordar. Y la relectura es viva: una propiedad que el usuario ha cambiado con el ratón se relee actualizada.
Cada propiedad con valores predefinidos expone sus constantes en el componente: ALIGN_CENTER, THEME_MODE_DARK… autocompletadas por el IDE y sin erratas.
ue_clicked, ue_selection_changed… con sus argumentos. Algunos son vetables: su código puede rechazar el cambio antes de que ocurra.
Los métodos of_* devuelven un long: ≥ 0 = hecho, < 0 = error. La biblioteca nunca muestra un cuadro en su lugar.
Ocho capítulos de guía, una página de referencia por componente y una documentación interactiva en la aplicación de demostración: allí cada propiedad tiene su ejemplo ejecutable, cuyo código copia.
Requisitos previos, archivos que entregar, integración en el IDE, runtime WebView2
Abrir y migrar la demo entregada, primer componente en pantalla
u_pbt_baseMotor de propiedades, items, eventos, ciclo de vida, of_reset
Temas (estilo × modo), color de acento, anulación de tokens, iconos, texto enriquecido
PBT_SetLanguage, traducciones, RTL
Tooltips, alojamiento de controles PB, arrastre de archivos, foco de teclado, exportación de imagen, utilidades no visuales
Síntomas frecuentes y sus causas
Claves dev / runtime / demo, modo demo
Todo ello en seis idiomas — francés, inglés, alemán, italiano, español, portugués — en páginas HTML autónomas, para leer sin conexión en un navegador, en la carpeta Documentation\ entregada con el producto.
La misma documentación, servida a su asistente de IA: Claude Code, Claude Desktop, Cursor o VS Code buscan en ella los componentes, miembros y ejemplos de su versión, y hacen comprobar el PowerScript que le proponen. El capítulo 14 explica cómo conectarlo en pocas líneas.
10.2 → 2025, tanto en 32 como en 64 bits. Las dos copias de la DLL llevan el mismo nombre: desarrolla en el IDE de 32 bits y compila a 64 bits sin cambiar una línea de PowerScript.
10 y 11, Server 2016 y superior.
Ya está presente en un Windows 10/11 actualizado. En Server o LTSC, un bootstrapper de 2 MB lo instala una vez, en silencio.
Sin .NET, sin ActiveX, sin PBNI, sin registro COM, sin derechos de administrador para la biblioteca en sí.
No, nunca. El motor web es un detalle de implementación: solo ve userobjects, propiedades y events de PowerBuilder.
El archivo que despliega, y nada más. Mismo nombre de DLL, mismas declaraciones, mismo PowerScript.
Sí: las pestañas y los paneles del dock alojan controles PB reales — una DataWindow, un formulario de entrada, otro componente. Es emparentado Win32, no una imagen.
El tema es una propiedad del componente (is_theme_style × is_theme_mode, más un color de acento), aplicada en caliente. El idioma es global al proceso: una llamada a PBT_SetLanguage en el open de la aplicación, y todos los componentes lo siguen.
El capítulo FAQ y resolución de problemas de la documentación entregada enumera los síntomas frecuentes y su causa — DLL no encontrada, runtime ausente, control colocado fuera de la ventana visible.