Convertendo função API

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

MARCELOG
Usuário Nível 4
Usuário Nível 4
Mensagens: 546
Registrado em: 15 Mar 2005 16:54
Localização: Divinópolis/MG

Convertendo função API

Mensagem por MARCELOG »

Olá companheiros,
na biblioteca da Microsoft existe a função api BITBLT.
Gostaria de utilizá-la para transferir um DC (Device Context) para uma janela e depois visualizá-lo.

Na tentativa de conversão a função ficaria assim:

HB_FUNC( BITBLT )
{
BitBlt((HDC) hb_parni(1),;
(INT) hb_parni(2),;
(INT) hb_parni(3),;
(INT) hb_parni(4),;
(INT) hb_parni(5),;
(HDC) hb_parni(6),;
(INT) hb_parni(7),;
(INT) hb_parni(8),;
(DWORD) hb_parni(9)));
}


Todavia, o seguinte erro é apresentado.

xHarbour Compiler build 0.99.50 (SimpLex)
Copyright 1999-2005, http://www.xharbour.org http://www.harbour-project.org/
Compiling 'DIVIJURI.PRG'...

100
300
400
500
600
700
800
900
1000
1100
1500
1600
2300
2900
3000
3100
3300
3400
3700
3800
4100
4200
4300
4400
4600
4900
5200
5400
5500
5700
5800
5900
6000
6200
6600
6700
6800
6900
7100
7200
7400
7600
7800
7900
8100
8400
Lines 8490, Functions/Procedures 117
Generating C source output to 'obj\DIVIJURI.c'...
Done.

Building object module for 'obj\DIVIJURI.c'
using C compiler 'BCC32' as defined in 'C:\XHARBOUR\BIN\harbour.cfg'...
Exec: BCC32 -c -IC:\XHARBOUR\include -5 -OS -a8 -d -LC:\XHARBOUR\lib -oobj\DIVIJURI.obj obj\DIVIJURI.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
obj\DIVIJURI.c:
Warning W8081 DIVIJURI.PRG 8235: void functions may not return a value in function HB_FUN_TELACHEIA
Error E2188 DIVIJURI.PRG 8303: Expression syntax in function HB_FUN_BITBLT
Error E2188 DIVIJURI.PRG 8304: Expression syntax in function HB_FUN_BITBLT
Error E2188 DIVIJURI.PRG 8305: Expression syntax in function HB_FUN_BITBLT
Error E2188 DIVIJURI.PRG 8306: Expression syntax in function HB_FUN_BITBLT
Error E2188 DIVIJURI.PRG 8307: Expression syntax in function HB_FUN_BITBLT
Error E2188 DIVIJURI.PRG 8308: Expression syntax in function HB_FUN_BITBLT
Error E2188 DIVIJURI.PRG 8309: Expression syntax in function HB_FUN_BITBLT
Error E2188 DIVIJURI.PRG 8310: Expression syntax in function HB_FUN_BITBLT
Warning W8019 DIVIJURI.PRG 8311: Code has no effect in function HB_FUN_BITBLT
Error E2379 DIVIJURI.PRG 8311: Statement missing ; in function HB_FUN_BITBLT
*** 9 errors in Compile ***
Done.
Deleting: "obj\DIVIJURI.c"
Done.


Alguém sabe informar porque ele acontece e como resolvê-lo?

Obrigado.

MarceloG
Avatar do usuário
vagucs
Membro Master
Membro Master
Mensagens: 1480
Registrado em: 10 Jul 2004 10:45
Localização: Ipanema - MG
Contato:

Mensagem por vagucs »

Compilei a rotina aqui e nao deu erro.
Sem mais
Wagner Nunes
www.vagucs.com.br
Avatar do usuário
vailton
Colaborador
Colaborador
Mensagens: 390
Registrado em: 17 Nov 2005 19:08
Localização: Brasil
Contato:

Mensagem por vailton »

MarceloG voce está usando o xHarboru comercial, não é?
MARCELOG
Usuário Nível 4
Usuário Nível 4
Mensagens: 546
Registrado em: 15 Mar 2005 16:54
Localização: Divinópolis/MG

Mensagem por MARCELOG »

Uso a versão open source do xHarbour.org.
Ainda não consegui compilar sem aparecer os erros indicados.
Digo, retirando os ";" da função (mania do Clipper/xHarbour), consegui compilar beleza.
Obrigado.

MarceloG
Responder