Error E2139 C:\FWH24\INCLUDE\clipapi.h 77: Declaration missi

Post Reply
User avatar
goosfancito
Posts: 1392
Joined: Fri Oct 07, 2005 7:08 pm

Error E2139 C:\FWH24\INCLUDE\clipapi.h 77: Declaration missi

Post by goosfancito »

Pueden ayudarme con esto, revise el codigo del clipapi.h y en esa linea dice esto:

typedef struct
{
WORD wType; <<<<<<<<<<<<<<<<<<<<< esta es la linea que dice 77
WORD w2;
WORD w3;
LPBYTE pPointer1;
LPBYTE pPointer2;
} CLIPVAR; // sizeof( CLIPVAR ) --> 14 bytes


Estoy tratando de hacer esto:

#include "winten.h"
#include "clipapi.h"
#include "windows.h"

HB_FUNC( misuma ) {
Int inum1 := hb_parni( 1 ) ;
Int inum2 := hb_parni( 2 ) ;

hb_retni( inum1 + inum2 ) ;

}


para luego llamarlo desde un prg de xharb


Gracias.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Error E2139 C:\FWH24\INCLUDE\clipapi.h 77: Declaration m

Post by Antonio Linares »

Gustavo,
goosfancito wrote:Pueden ayudarme con esto, revise el codigo del clipapi.h y en esa linea dice esto:

typedef struct
{
WORD wType; <<<<<<<<<<<<<<<<<<<<< esta es la linea que dice 77
WORD w2;
WORD w3;
LPBYTE pPointer1;
LPBYTE pPointer2;
} CLIPVAR; // sizeof( CLIPVAR ) --> 14 bytes
Estás usando un clipapi.h antiguo, que no es el de FWH. Ya que esa definición de CLIPVAR es sólo para Clipper y no para FWH.
goosfancito wrote: Estoy tratando de hacer esto:

#include "winten.h"
#include "clipapi.h"
#include "windows.h"

HB_FUNC( misuma ) {
Int inum1 := hb_parni( 1 ) ;
Int inum2 := hb_parni( 2 ) ;

hb_retni( inum1 + inum2 ) ;

}
misuma tiene que ir en mayúsculas, es decir, MISUMA. Por otra parte, Int no comienza en mayúsculas, sin en minúsculas: int
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
jlcapel
Posts: 229
Joined: Wed Oct 12, 2005 5:32 pm
Location: Valencia - España
Contact:

Post by jlcapel »

Gustavo,

Prueba a poner este include en sustitución del clipapi.ch

#include "hbapi.h"

Saludos,
José Luis Capel
www.capelblog.com
User avatar
goosfancito
Posts: 1392
Joined: Fri Oct 07, 2005 7:08 pm

Re: Error E2139 C:\FWH24\INCLUDE\clipapi.h 77: Declaration m

Post by goosfancito »

Antonio:

dicho encabezado esta en el paquete original del FWH. No entiendo cuiando me decis que no se lo usa mas al clipapi.h
Gracias.

[quote="Antonio Linares"]Gustavo,

[quote="goosfancito"]Pueden ayudarme con esto, revise el codigo del clipapi.h y en esa linea dice esto:

typedef struct
{
WORD wType; <<<<<<<<<<<<<<<<<<<<< esta es la linea que dice 77
WORD w2;
WORD w3;
LPBYTE pPointer1;
LPBYTE pPointer2;
} CLIPVAR; // sizeof( CLIPVAR ) --> 14 bytes[/quote]

Estás usando un clipapi.h antiguo, que no es el de FWH. Ya que esa definición de CLIPVAR es sólo para Clipper y no para FWH.

[quote="goosfancito"]
Estoy tratando de hacer esto:

#include "winten.h"
#include "clipapi.h"
#include "windows.h"

HB_FUNC( misuma ) {
Int inum1 := hb_parni( 1 ) ;
Int inum2 := hb_parni( 2 ) ;

hb_retni( inum1 + inum2 ) ;

}
[/quote]

misuma tiene que ir en mayúsculas, es decir, MISUMA. Por otra parte, Int no comienza en mayúsculas, sin en minúsculas: int[/quote]
User avatar
goosfancito
Posts: 1392
Joined: Fri Oct 07, 2005 7:08 pm

Gracias-

Post by goosfancito »

[quote="jlcapel"]Gustavo,

Prueba a poner este include en sustitución del clipapi.ch

#include "hbapi.h"

Saludos,
José Luis Capel
www.capelblog.com[/quote]

Gracias José.

Quiero saber algo, que encabezados deben tener los codigos c para xHarbour a parte de este?

Muchas Gracias.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Gustavo,

No he dicho que no se use clipapi.h, sino que tal vez estes usando uno antiguo.

Revisa tu ordenador y asegúrate de que no tienes otro clipapi.h por ahi.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
jlcapel
Posts: 229
Joined: Wed Oct 12, 2005 5:32 pm
Location: Valencia - España
Contact:

Post by jlcapel »

Gustavo,

Para hacer funciones C de (x)Harbour en principio solo necesitas el hbapi.h

Si quieres además utilizar el api de windows deberás añadir windows.h además de aquellos ficheros de cabecera que necesites.

Si quieres ver como se hace un wrapper de una función del API de windows sigue este enlace http://www.capelblog.com/?p=48

Saludos,
José Luis Capel
www.capelblog.com
User avatar
goosfancito
Posts: 1392
Joined: Fri Oct 07, 2005 7:08 pm

Post by goosfancito »

[quote="Antonio Linares"]Gustavo,

No he dicho que no se use clipapi.h, sino que tal vez estes usando uno antiguo.

Revisa tu ordenador y asegúrate de que no tienes otro clipapi.h por ahi.[/quote]

Antonio:

Solo tengo el fhw24 en mi computadora, ya he quitado el fw21 que tenia. y esa libreria esta dentro de fw24\include.

Gracias.
User avatar
goosfancito
Posts: 1392
Joined: Fri Oct 07, 2005 7:08 pm

WRAPPER

Post by goosfancito »

[quote="jlcapel"]Gustavo,

Para hacer funciones C de (x)Harbour en principio solo necesitas el hbapi.h

Si quieres además utilizar el api de windows deberás añadir windows.h además de aquellos ficheros de cabecera que necesites.

Si quieres ver como se hace un [i]wrapper[/i] de una función del API de windows sigue este enlace http://www.capelblog.com/?p=48

Saludos,
José Luis Capel
www.capelblog.com[/quote]

He estado buscando que son los WRAPPER pero todos lo utilzan pero no dicen que es- podrias darme una pequeña explicacion porque hasta en el msdn hablan del mismo pero no explican en si que es.

Gracias.
User avatar
jlcapel
Posts: 229
Joined: Wed Oct 12, 2005 5:32 pm
Location: Valencia - España
Contact:

Post by jlcapel »

Gustavo,

Un wrapper no es más que una función puente entre el nivel PRG de (x)harbour y una función C (que puede ser del API de Windows, de una DLL de un tercero, etc).

Para hacer un wrapper has de tener un mínimo conocimiento de C y documentación de la función que vas a wrapear.

En http://www.capelblog.com/?p=48 hay un artículo donde hay dos wrappers a dos funciones del API de Windows. Míratelo y haz pruebas con alguna otra función del API de Windows.

Saludos,
José Luis Capel
www.capelblog.com
User avatar
goosfancito
Posts: 1392
Joined: Fri Oct 07, 2005 7:08 pm

Mira vos lo que se aprende

Post by goosfancito »

O sea que lo que estoy tratando de hacer es un WRAPPER, estoy tratando hace un tiempo crear, conectar y manipular pipes. por medio de funciones mias y utilizando API. Bueno siempre y cuando el xHarbour me lo deje.

Gracias Soberano.

[quote="jlcapel"]Gustavo,

Un [i]wrapper[/i] no es más que una función puente entre el nivel PRG de (x)harbour y una función C (que puede ser del API de Windows, de una DLL de un tercero, etc).

Para hacer un [i]wrapper[/i] has de tener un mínimo conocimiento de C y documentación de la función que vas a [i]wrapear[/i].

En http://www.capelblog.com/?p=48 hay un artículo donde hay dos wrappers a dos funciones del API de Windows. Míratelo y haz pruebas con alguna otra función del API de Windows.

Saludos,
José Luis Capel
www.capelblog.com[/quote]
Post Reply