Documentation
Sem assistente, sem registo COM, sem direitos de administrador: dois ficheiros a copiar e depois coloca o componente como qualquer controlo do PowerBuilder.
Copie pbtoolboxai.pbl para a pasta da sua aplicação e adicione-a à library list do target. As declarações de external functions já estão no antecessor: nada a redeclarar.
Um único ficheiro autónomo, pbtoolboxai.dll: os pacotes web, os temas e os dicionários estão incorporados nele. A cópia x86 fica ao lado de pbXXX.exe para o IDE, e a x64 ao lado de um executável de 64 bits.
Insert → Control → User Object, escolha u_pbt_statictext, dê-lhe nome e dimensão. No painter mostra uma moldura cinzenta: a representação real acontece em execução.
Atribua as propriedades, escreva os events. Os comandos emitidos antes de o componente estar pronto são colocados em fila e reproduzidos: não há qualquer ordem de inicialização a respeitar.
// 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)
O que aprende num componente serve para todos os outros: mesmos prefixos, mesmas convenções, mesmos códigos de retorno.
uo_texto.is_text = "Olá" — nenhum setter para memorizar. E a releitura é viva: uma propriedade que o utilizador alterou com o rato relê-se atualizada.
Cada propriedade com valores predefinidos expõe as suas constantes no componente: ALIGN_CENTER, THEME_MODE_DARK… completadas pelo IDE e sem gralhas.
ue_clicked, ue_selection_changed… com os seus argumentos. Alguns são vetáveis: o seu código pode recusar a alteração antes de ela acontecer.
Os métodos of_* devolvem um long: ≥ 0 = feito, < 0 = erro. A biblioteca nunca mostra uma caixa em seu lugar.
Oito capítulos de guia, uma página de referência por componente e uma documentação interativa na aplicação de demonstração: aí cada propriedade tem o seu exemplo executável, cujo código copia.
Pré-requisitos, ficheiros a entregar, integração no IDE, runtime WebView2
Abrir e migrar a demonstração fornecida, primeiro componente no ecrã
u_pbt_baseMotor de propriedades, items, eventos, ciclo de vida, of_reset
Temas (estilo × modo), cor de destaque, substituição de tokens, ícones, texto formatado
PBT_SetLanguage, traduções, RTL
Tooltips, alojamento de controlos PB, largada de ficheiros, foco de teclado, exportação de imagem, utilitários não visuais
Sintomas frequentes e respetivas causas
Chaves dev / runtime / demo, modo de demonstração
Tudo isso em seis línguas — francês, inglês, alemão, italiano, espanhol, português — em páginas HTML autónomas, para ler offline num navegador, na pasta Documentation\ entregue com o produto.
A mesma documentação, servida ao seu assistente de IA: o Claude Code, Claude Desktop, Cursor ou VS Code procuram nela os componentes, membros e exemplos da sua versão, e fazem verificar o PowerScript que lhe propõem. O capítulo 14 explica como ligá-lo em poucas linhas.
10.2 → 2025, tanto em 32 como em 64 bits. As duas cópias da DLL têm o mesmo nome: desenvolve no IDE de 32 bits e compila para 64 bits sem alterar uma linha de PowerScript.
10 e 11, Server 2016 e superior.
Já está presente num Windows 10/11 atualizado. Em Server ou LTSC, um bootstrapper de 2 MB instala-o uma vez, em silêncio.
Sem .NET, sem ActiveX, sem PBNI, sem registo COM, sem direitos de administrador para a própria biblioteca.
Não, nunca. O motor web é um detalhe de implementação: só vê userobjects, propriedades e events do PowerBuilder.
O ficheiro que distribui, e mais nada. Mesmo nome de DLL, mesmas declarações, mesmo PowerScript.
Sim: os separadores e os painéis do dock alojam controlos PB reais — uma DataWindow, um formulário de entrada, outro componente. É parentesco Win32, não uma imagem.
O tema é uma propriedade do componente (is_theme_style × is_theme_mode, mais uma cor de destaque), aplicada a quente. A língua é global ao processo: uma chamada a PBT_SetLanguage no open da aplicação, e todos os componentes seguem.
O capítulo FAQ e resolução de problemas da documentação entregue enumera os sintomas frequentes e a sua causa — DLL não encontrada, runtime ausente, controlo colocado fora da janela visível.