Workspace - development environment

HMG en Español

Moderator: Rathinagiri

User avatar
danielmaximiliano
Posts: 2763
Joined: Fri Apr 09, 2010 4:53 pm
DBs Used: DBF
Location: Argentina
Contact:

Re: Workspace - development environment

Post by danielmaximiliano »

Hola : como les dije que a veces me gusta programar en Pascal pude intergar el compilador FPC dentro de Workspace.
la forma era desacoplar los compiladores dentro de Workspace y creando archivos .hrb
An HRB file (.hrb) is a Harbour Portable Binary file. It contains precompiled portable p-code and symbol tables generated by the Harbour Compiler. Think of it as a compiled script or modular component that runs across different operating systems without OS-specific binary code.

Key CharacteristicsPortable Binary: Contains intermediate byte-code (p-code) rather than native machine code.Modular Updates: Allows developers to ship single updated program routines rather than recompiling and sending a full monolithic executable.

Dynamic Execution: Can be loaded, executed, or queried at runtime using Harbour's interpreter tools.

How to Use HRB Files

Creation: Compile a source file into an HRB binary via the command line using hbmk2 -gh file.prg or harbour file.prg /gh.

Execution: Run the portable binary directly using the Harbour runner tool via hbrun file.hrb.

Integration: Main programs can load .hrb files dynamically during execution to call isolated functions or modules.
https://github.com/harbour/core/blob/ma ... bmk2.en.md

https://www.hmgforum.com/viewtopic.php?t=5233 por Luis Vasquez
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*

Saludos / Regards
DaNiElMaXiMiLiAnO

Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
Telegram invitation https://t.me/HMGWorkspace
User avatar
danielmaximiliano
Posts: 2763
Joined: Fri Apr 09, 2010 4:53 pm
DBs Used: DBF
Location: Argentina
Contact:

Re: Workspace - development environment

Post by danielmaximiliano »

Plugins :
Attachments
Captura de pantalla 2026-08-13 234814.png
Captura de pantalla 2026-08-13 234814.png (95.51 KiB) Viewed 461 times
Captura de pantalla 2026-08-13 234848.png
Captura de pantalla 2026-08-13 234848.png (43.2 KiB) Viewed 461 times
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*

Saludos / Regards
DaNiElMaXiMiLiAnO

Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
Telegram invitation https://t.me/HMGWorkspace
User avatar
danielmaximiliano
Posts: 2763
Joined: Fri Apr 09, 2010 4:53 pm
DBs Used: DBF
Location: Argentina
Contact:

Re: Workspace - development environment

Post by danielmaximiliano »

Hola a todos: los invito a mi grupo Workspace:https://t.me/HMGWorkspace

en nuevo entorno de desarrollo esta casi funcional y necesito que prueben con sus ejemplos, se recomienda crear una carpeta EJ: C:\Projects
probar ahi las aperturas de xxx.hbp

pueden compilar , hacer debug de sus proyectos, sean en modo GUI o harbour puro.

In the new development environment, it's almost functional, and I need you to test it with your examples. It's recommended to create a folder, e.g., C:\Projects, and test opening xxx.hbp there.

You can compile and debug your projects, whether in GUI mode or pure harbor mode.

estaré respondiendo dudas en el grupo // I will be answering questions in the group.
Attachments
Captura de pantalla 2026-08-15 124018.png
Captura de pantalla 2026-08-15 124018.png (161.26 KiB) Viewed 329 times
Captura de pantalla 2026-08-15 124639.png
Captura de pantalla 2026-08-15 124639.png (137.46 KiB) Viewed 329 times
Captura de pantalla 2026-08-15 125414.png
Captura de pantalla 2026-08-15 125414.png (146.55 KiB) Viewed 329 times
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*

Saludos / Regards
DaNiElMaXiMiLiAnO

Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
Telegram invitation https://t.me/HMGWorkspace
User avatar
danielmaximiliano
Posts: 2763
Joined: Fri Apr 09, 2010 4:53 pm
DBs Used: DBF
Location: Argentina
Contact:

Re: Workspace - development environment

Post by danielmaximiliano »

Hola a Todos:
casi terminado Workspace y FormEditorService que incluye edición de formulario dentro de un ViewPort que permite como ejemplo mi Aplicación para cámaras IP que tiene una resolución de 1200x 1024, al tener mucha resolucion en canvas de Main.fmg este se puede desplazar con las barras de posición.

Hello everyone: I've almost finished Workspace and FormEditorService, which includes form editing within a ViewPort. For example, my IP camera application has a resolution of 1200x1024, and because of the high resolution of the Main.fmg canvas, it can be scrolled using the position bars.

dejo capturas y como siempre los espero en el canl de Telegram ahi tienen a disposicion Workspace

t.me/HMGWorkspace
Workspace.png
Workspace.png (117.26 KiB) Viewed 226 times
FormEditorService.png
FormEditorService.png (110.03 KiB) Viewed 226 times
Exist With Save.png
Exist With Save.png (98.88 KiB) Viewed 226 times
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*

Saludos / Regards
DaNiElMaXiMiLiAnO

Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
Telegram invitation https://t.me/HMGWorkspace
User avatar
serge_girard
Posts: 3420
Joined: Sun Nov 25, 2012 2:44 pm
DBs Used: 1 MySQL - MariaDB
2 DBF
Location: Belgium
Contact:

Re: Workspace - development environment

Post by serge_girard »

Thx Daniel !
There's nothing you can do that can't be done...
User avatar
danielmaximiliano
Posts: 2763
Joined: Fri Apr 09, 2010 4:53 pm
DBs Used: DBF
Location: Argentina
Contact:

Re: Workspace - development environment

Post by danielmaximiliano »

Enlace de invitacion : https://t.me/HMGWorkspace

Captura de pantalla 2026-08-28 161323.png
Captura de pantalla 2026-08-28 161323.png (79.42 KiB) Viewed 213 times
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*

Saludos / Regards
DaNiElMaXiMiLiAnO

Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
Telegram invitation https://t.me/HMGWorkspace
User avatar
danielmaximiliano
Posts: 2763
Joined: Fri Apr 09, 2010 4:53 pm
DBs Used: DBF
Location: Argentina
Contact:

Re: Workspace - development environment

Post by danielmaximiliano »

Hola a todos:

como siempre los invito a probar Workspace en mi canal esta la descarga del mismo : https://t.me/HMGWorkspace

ahora estoy integrando la posibilidad de revisar .exe, .dll, .a, .lib
generar el .def para generar un .a desde un .dll o .lib
Attachments
Captura de pantalla 2026-09-01 181022.png
Captura de pantalla 2026-09-01 181022.png (81.6 KiB) Viewed 157 times
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*

Saludos / Regards
DaNiElMaXiMiLiAnO

Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
Telegram invitation https://t.me/HMGWorkspace
User avatar
danielmaximiliano
Posts: 2763
Joined: Fri Apr 09, 2010 4:53 pm
DBs Used: DBF
Location: Argentina
Contact:

Re: Workspace - development environment

Post by danielmaximiliano »

Hola a todos: casi terminado DependencyService:
la finalidad de este servicio es revisar funciones exportadas.
yo me siento mas comodo trabajar con una libreria estatica .a que un dll, a veces hay .lib que tambien puede ser covertidas en libreria estatica .a

ya no hay necesidad de utilizar e instalar herramientas de terceros .
mi proximo paso es hacer es agregar report a DependencyService que indique como lo hace un getor de paquetes de Linux (Aptget) la falta de dependencias de un binario

Code: Select all

DependencyService report

Runtime dependency group: VLC
Status: incomplete

Found:
  libvlc.dll

Missing:
  libvlccore.dll
  plugins\

Suggestion:
  Copy libvlccore.dll next to the executable.
  Copy the VLC plugins folder next to the executable.
  Verify that all files are 64-bit.
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*

Saludos / Regards
DaNiElMaXiMiLiAnO

Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
Telegram invitation https://t.me/HMGWorkspace
User avatar
danielmaximiliano
Posts: 2763
Joined: Fri Apr 09, 2010 4:53 pm
DBs Used: DBF
Location: Argentina
Contact:

Re: Workspace - development environment

Post by danielmaximiliano »

DependencyService :
Attachments
Captura de pantalla 2026-09-01 225144.png
Captura de pantalla 2026-09-01 225144.png (102.67 KiB) Viewed 151 times
DependencyService.png
DependencyService.png (47.74 KiB) Viewed 151 times
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*

Saludos / Regards
DaNiElMaXiMiLiAnO

Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
Telegram invitation https://t.me/HMGWorkspace
User avatar
danielmaximiliano
Posts: 2763
Joined: Fri Apr 09, 2010 4:53 pm
DBs Used: DBF
Location: Argentina
Contact:

Re: Workspace - development environment

Post by danielmaximiliano »

Se me hace mas practico trabajar con una libreria estatica .a que con una DLL ya que tuve mucho que luchar con Hasar 715p

pase de esto:

Code: Select all

*-------------------------------------------------------------*
Function AbrirPuerto( lRetorno )
*-------------------------------------------------------------*
nHandler := CallDll32( "OpenComFiscal" , "WINFIS32.DLL" , 1 , 0 )

    If nHandler >= 0 
       Principal.StatusBar.Item(2) :="Puerto de impresora OK "
       nError := CallDll32( "InitFiscal"    , "WINFIS32.DLL" , nHandler )
       If nError = 0
         lRetorno :=  .T.
       Else 
         alerror( nError )
         Principal.StatusBar.Item(2) := " La impresora no se puede Inicializar"   
          lRetorno := .T.  
       Endif
   Else
    alerror( nHandler )
    Principal.StatusBar.Item(2) :=" Hubo un error de abrir puerto Comm "
    lRetorno := .T.      
   Endif

Return ( lRetorno )

a esto :

Code: Select all

*-------------------------------------------------------------*
Function AbrirPuerto( lRetorno )
*-------------------------------------------------------------*

   nHandler := OpenComFiscal( 1, 0 )

   If nHandler >= 0
      Principal.StatusBar.Item(2) := "Puerto de impresora OK "

      nError := InitFiscal( nHandler )

      If nError = 0
         lRetorno := .T.
      Else
         alerror( nError )
         Principal.StatusBar.Item(2) := " La impresora no se puede Inicializar"
         lRetorno := .T.
      Endif

   Else
      alerror( nHandler )
      Principal.StatusBar.Item(2) := " Hubo un error de abrir puerto Comm "
      lRetorno := .T.
   Endif

Return ( lRetorno )
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*

Saludos / Regards
DaNiElMaXiMiLiAnO

Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
Telegram invitation https://t.me/HMGWorkspace
Post Reply