Novedades en FWH 26.07

Novedades de FiveWin for Harbour/xHarbour versión 26.07 (julio 2026). Consulte también whatsnew.txt en la raíz de FWH para el diario completo.

DesktopWeb — un PRG, desktop + navegador (login.prg)

Nuevo sample samples/DesktopWeb/login.prg: una sola aplicación que expone el mismo HTML/CSS/JS al escritorio y a cualquier navegador.

Compilar: cd samples\DesktopWeb y build.bat (o build_new.bat login hm64 -mt). Requiere Runtime WebView2 para la ventana desktop. Ver TWebView2.

Remote View + WebView2 (testrvweb)

Nuevo ejemplo samples/RemoteView/testrvweb.prg que combina Remote View con TWebView2:

Disposición en la misma pantalla: ventana desktop abajo (FROM nTop, nLeft … PIXEL) para que la imagen del navegador quede arriba; RemoteViewSetOffset modesto. Requiere Runtime WebView2. Detalle: Remote View + WebView2.

XBrowse multilínea + LimitText (sample xbrml250)

Nuevo sample samples/ui/xbrowse/xbrml250.prg: edición de una columna de texto larga en varias líneas dentro de la celda, con tope de longitud (ejemplo: 250 caracteres).

Detalle: TXBrowse edición multilínea.

TControl F1 / ayuda CHM — nHelpId vacío sube al padre

F1 / WM_HELP llega al control con el foco. Si el control tenía nHelpId vacío, FWH no abría ayuda y no se usaba oWnd:nHelpId / oDlg:nHelpId. TControl:__HelpTopic() ahora llama a ::oWnd:HelpTopic() para aplicar el contexto de la ventana/diálogo.

Comportamiento de la ayuda contextual CHM:

Los nombres de topic deben coincidir con los .htm reales del CHM. HelpSetPos() solo aplica a .hlp clásico, no a CHM. Sample: samples/test/testchmhlp.prg (+ popups.txt). Recompilar la librería PRG tras la actualización.

samples/misc/dshow.prg — webcam (Media Foundation)

samples/misc/dshow.prg muestra vista previa de webcam y captura BMP en un diálogo FiveWin. En Windows 10/11, DirectShow IVideoWindow / GetCurrentImage suele devolver un buffer negro aunque el grafo esté en Running (comprobado con FaceTime HD / UVC). El sample usa por tanto Media Foundation mediante código C integrado en el PRG.

cd samples\misc
build_new.bat dshow hb64
:: o: build_new.bat dshow hm64 / xb32
dshow.exe

Relacionado: clase TWebCam (VFW legado) y samples/web/webcam.prg.

FW_DemoDB() — nuevo servidor demo MySQL

El servidor MySQL demo en la nube usado por los samples de FWH ha cambiado. FW_DemoDB() se conecta ahora a un único host:

Se ha eliminado el segundo servidor (nServer = 2). Si el primer parámetro es una cadena se sigue usando como cLib ("FWH", "ADO" o "DLP"); los valores numéricos se ignoran. Los samples existentes no requieren cambios de código tras recompilar la librería PRG.

oCn := FW_DemoDB()           // nativo FWH (por defecto)
oCn := FW_DemoDB( "ADO" )    // vía ADO
oCn := FW_DemoDB( "DLP" )    // vía Dolphin, si está enlazado

Ver también MariaDB / MySQL — FW_DemoDB().

TWebView2 — Fixed Version Runtime

TWebView2():New() acepta un tercer parámetro opcional cBrowserExecutableFolder (el browserExecutableFolder de Microsoft). Cuando se indica, WebView2 carga un Runtime Fixed Version / standalone desde esa carpeta en lugar del Runtime Evergreen instalado en el sistema.

oWeb := TWebView2():New( oWnd, , "C:\MiPrograma\WebView2Runtime" )

También se corrigió el segundo parámetro cUserDataFolder: se sobrescribía con una ruta por defecto en AppData; ahora se respeta.

Referencia: TWebView2.

Otros arreglos de julio 2026

TDashGauge — Medidor Semicircular para Dashboards

Nuevo sample samples/tgauge/TDashGauge.prg: una subclase de TControl que renderiza un medidor semicircular con arcos gruesos, aguja de predicción y punto central — todo con doble buffer via GDI para eliminar parpadeo.