funciones en xharbour llamadas desde C

funciones en xharbour llamadas desde C

Postby goosfancito » Tue Dec 13, 2005 3:44 am

Amigos,

Se puede hacer que una funcion creada en xHarbour pueda ser llamada desde un programa creado en C?

Code: Select all  Expand view
HB_FUNC( MIFUNCION ){

    // llamada a funcion que está en xHarbour

}
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm

Postby Antonio Linares » Tue Dec 13, 2005 8:53 am

Gustavo,

Si, se puede perfectamente llamar a funciones en PRG desde C, pero siguiendo una serie de reglas, ya que el stack de la máquina virtual no es el stack de C.

Este es un ejemplo de como llamar a PRG desde C:
Code: Select all  Expand view
   #include <hbvm.h>

   hb_vmPushSymbol( hb_dynsymGet( "MIFUNCION" )->pSymbol );
   hb_vmPushNil();
   hb_vmPushString( "hola", strlen( "hola" ) );  // pasamos un parámetro
   hb_vmFunction( 1 ); // 1 parámetro pasado
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41474
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby goosfancito » Tue Dec 13, 2005 10:01 pm

Antonio,

Gracias, voy a probarlo ahora, porque esto va acarriado a otra pregunta que puse en foro sobre CEM, digamos que la aplicacion en harbour llama a una de C, y esa funcion C tiene que leer una DBF, tonces, haria una funcion en harbour para leer esa DBF y simplemente desde el codigo C llamo a esta.

Me explique?
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm

Postby goosfancito » Tue Dec 13, 2005 10:35 pm

Antonio,

Esa parte de codigo, va en mi PRG?

Code: Select all  Expand view
#include <hbvm.h>

   hb_vmPushSymbol( hb_dynsymGet( "MIFUNCION" )->pSymbol );
   hb_vmPushNil();
   hb_vmPushString( "hola", strlen( "hola" ) );  // pasamos un parámetro
   hb_vmFunction( 1 ); // 1 parámetro pasado


donde puedo buscar mas info sobre estos comandos?
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 20 guests