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
Ejecutar un CODEBLOCK en C++
- Antonio Linares
- Site Admin
- Posts: 42662
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 69 times
- Been thanked: 96 times
- Contact:
Re: Ejecutar un CODEBLOCK en C++
Aqui tienes el ejemplo completo:
antolin.prg
antolin.prg
Code: Select all | Expand
#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 nilfunction 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
Re: Ejecutar un CODEBLOCK en C++
Muchas gracias Antonio, va muy bien
Peaaaaaso de foro...
FWH 2007 - xHarbour - BCC55
FWH 2007 - xHarbour - BCC55
Re: Ejecutar un CODEBLOCK en C++
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

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
FWH 2007 - xHarbour - BCC55
Re: Ejecutar un CODEBLOCK en C++
Es que me gustan mucho las transparencias.


Peaaaaaso de foro...
FWH 2007 - xHarbour - BCC55
FWH 2007 - xHarbour - BCC55
- Antonio Linares
- Site Admin
- Posts: 42662
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 69 times
- Been thanked: 96 times
- Contact: