FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Ejecutar un CODEBLOCK en C++
Posts: 498
Joined: Thu May 10, 2007 08:30 PM
Ejecutar un CODEBLOCK en C++
Posted: Sat Apr 23, 2022 05:14 PM

Buenas tardes.

Alguien sabr铆a decirme como ejecutar un CODEBLOCK de xHarbour en C++.

Por ejemplo: Pasar bEjemplo := { |x,y| MiFuncion(x,y,nOtro,cOtro)} a una funci贸n en C++ para que se ejecute la funci贸n MiFuncion() desde all铆.

He encontrado la definici贸n: hb_vmEvalBlockV( PHB_ITEM pBlockItem, USHORT uiArgCount, ... ) --> ( PHB_ITEM )pResult

Pero no s茅 como utilizarla. Si USHORT uiArgCoun es s贸lo un entero que indique el numero de argumentos, o si hay que enumerar las variables dentro de la funci贸n C++. Tampoco especifica la naturaleza de pResult, es un PHB_ITEM, pero de que tipo, o s贸lo es un 0 o -1.

Si me pudieran poner un ejemplo sencillo, mejor, claro.

Gracias

Peaaaaaso de foro...

FWH 2007 - xHarbour - BCC55
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Ejecutar un CODEBLOCK en C++
Posted: Sat Apr 23, 2022 06:15 PM
Aqui tienes el ejemplo completo:

antolin.prg
Code (fw): Select all Collapse
#include "FiveWin.ch"

function Main()

   local nOtro := 123
   local cOtro := "Hello"

   MsgInfo( Test( { | x, y | MiFuncion( x, y, nOtro, cOtro ) }, "Primer par谩metro", "segundo par谩metro" ) )

return nil

function MiFuncion( x, y, nOtro, cOtro )

   MsgInfo( x )
   MsgInfo( y )
   MsgInfo( nOtro )
   MsgInfo( cOtro )

return "funciona"

#pragma BEGINDUMP

#include <hbapi.h>
#include <hbapiitm.h>
#include <hbvm.h>
#include <hbstack.h>

HB_FUNC( TEST )
{
   PHB_ITEM pCodeBlock = hb_param( 1, HB_IT_EVALITEM );
   PHB_ITEM pParam1 = hb_param( 2, HB_IT_ANY );
   PHB_ITEM pParam2 = hb_param( 3, HB_IT_ANY );

   hb_vmEvalBlockV( pCodeBlock, 2, pParam1, pParam2 );
}

#pragma ENDDUMP
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 498
Joined: Thu May 10, 2007 08:30 PM
Re: Ejecutar un CODEBLOCK en C++
Posted: Wed Apr 27, 2022 11:24 AM

Muchas gracias Antonio, va muy bien

Peaaaaaso de foro...

FWH 2007 - xHarbour - BCC55
Posts: 498
Joined: Thu May 10, 2007 08:30 PM
Re: Ejecutar un CODEBLOCK en C++
Posted: Wed Apr 27, 2022 11:38 AM
Es que tengo mis propios browsers, y los estoy modificando para que tengan fondo transparente.
Van muy bien y r谩pidos, pero me gustar铆a acelerarlos con funciones en C++ para futuras mejoras.

Este es un ejemplo

Peaaaaaso de foro...

FWH 2007 - xHarbour - BCC55
Posts: 498
Joined: Thu May 10, 2007 08:30 PM
Re: Ejecutar un CODEBLOCK en C++
Posted: Wed Apr 27, 2022 11:52 AM
Es que me gustan mucho las transparencias.

Peaaaaaso de foro...

FWH 2007 - xHarbour - BCC55
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Ejecutar un CODEBLOCK en C++
Posted: Wed Apr 27, 2022 11:54 AM

un gran trabajo!

Enhorabuena :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion