compilação

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

Moderador: Moderadores

ederxc
Usuário Nível 4
Usuário Nível 4
Mensagens: 619
Registrado em: 15 Set 2006 08:40
Localização: Pedreira -SP-

Mensagem por ederxc »

versão 0.99.70 (simplex)
C:\Xharbour\Xdev\Fw\VSX
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Eder, apenas perguntei...pq caso vc estive com uma versão desatualizada...poderia que isso não funcionase...mas com a 0.99.70 concerteza funciona !!! fiz os teste aqui com a 0.99.70 e 0.99.71 e funciona...veja o que o Hasse disse....e tente mudar sua função para outro PRG...

Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

sygecom escreveu:Maligno, lamento mas eu não uso funções de sobrecargas de uma olhada no Help em FUNCTION lah vc acha algo a respeito
Já tinha visto lá, no help do eBook e também já procurei no Google. Nenhuma palavra a respeito. Isso me faz pensar que não é possível. E veja: nem poderia. Raciocine comigo. Pra sobrecarregar uma função o compilador precisa que os tipos dos parâmetros sejam especificados. Mas XBase não é uma linguagem tipada. Cada variável pode assumir qualquer tipo que seja. Então, é impossível fixar os tipos dos parâmetros. Então, como seria possível o compilador sobrecarregar funções?
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
ederxc
Usuário Nível 4
Usuário Nível 4
Mensagens: 619
Registrado em: 15 Set 2006 08:40
Localização: Pedreira -SP-

Mensagem por ederxc »

sygecom escreveu:Eder, apenas perguntei...pq caso vc estive com uma versão desatualizada...poderia que isso não funcionase...mas com a 0.99.70 concerteza funciona !!! fiz os teste aqui com a 0.99.70 e 0.99.71 e funciona...veja o que o Hasse disse....e tente mudar sua função para outro PRG...

Po , mas se a função é estatica não posso muda-la para outro prg !
a não ser que eu deixe como função comum e se for dixar como função comum não seria mais conveniente mudar o nome da função , mas se eu mudar o nome da função nunca vou descobrir o pq do erro ....

compilo dessa forma

Código: Selecionar todos

C:\PASTA\HBMAKE MENU 
:f
C:\Xharbour\Xdev\Fw\VSX
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Eder, olha um trecho do Help,

It is possible to declare STATIC functions with the same symbolic name in different PRG files. A name conflict to a public function with the same name declared in another PRG file does not arise. However, the symbolic names of public functions, procedures or classes must always be unique.

Tche, vc fez o que o Hasse falou ?

Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
ederxc
Usuário Nível 4
Usuário Nível 4
Mensagens: 619
Registrado em: 15 Set 2006 08:40
Localização: Pedreira -SP-

Mensagem por ederxc »

Hasse escreveu:Estes números representam os números das linhas do Fonte.prg

O erro ao final do LOG reporta alguma inconsistência:
1-Está faltando no início do PRG a definição: FUNCTION NPESQFOR()
2-Nos PRG's há alguma linha chamando via DO NPESQFOR
3-Há 2 rotinas NPESQFOR sendo compiladas ao mesmo tempo.

Karamba acho que sei o que é , cada PRG deve ser tratado como uma função né ?? eu esqueci de alterar isso :( ! que mancada , agora que lembrei ....
C:\Xharbour\Xdev\Fw\VSX
Stanis Luksys
Colaborador
Colaborador
Mensagens: 1329
Registrado em: 18 Jun 2005 03:04
Localização: São Paulo
Contato:

Mensagem por Stanis Luksys »

sygecom escreveu:lamento mas eu não uso funções de sobrecargas
Nem poderia usar. Exatamente pelo fato da linguagem não ser tipada. Mesmo assim talvez até fosse possível, se o compilador avaliasse somente de acordo com o número de parâmetros da função, o que também não ocorre. Mas isso também não levaria a lugar algum, é mais utilizado mesmo em conjunto com OOP.

Sempre vale lembrar, que caso seja necessário utilizar este recurso, pode-se lançar mão de escrever parte do código em C mesmo.


Quanto as funções estáticas, no xHarbour tem funcionamento identico ao do Clipper. O erro do colega aí foi o mais simples (e talvesz por isso o menos esperado): começou o prg mandando ver no código sem "declarar" a função, alias sem "iniciar" a função.

Isso ae!
Editado pela última vez por Stanis Luksys em 28 Ago 2007 17:59, em um total de 1 vez.
Stanis Luksys
sites.google.com/hblibs

Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Mas isso também não levaria a lugar algum, é mais utilizado mesmo em conjunto com OOP.
Poucas vezes usei em classes. Uso mais (e bastante) no modo convencional.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Stanis Luksys
Colaborador
Colaborador
Mensagens: 1329
Registrado em: 18 Jun 2005 03:04
Localização: São Paulo
Contato:

Mensagem por Stanis Luksys »

Opa,

Mas não me referí unicamente a você, e sim num sentido mais generalizado. Como deve ter até nascido (e se difundido) antes da OOP, é óbvio que a "sobrecarga" já foi muito mais usada sem OOP. Mas na OOP, diferente da programação estruturada, a sobrecarga de funções é essencial, necessária na maioria dos projetos. Por isso citei que é mais usada com OOP.
Stanis Luksys
sites.google.com/hblibs

Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Mas não me referí unicamente a você
Mas é claro que eu sei disso. Eu estava apenas mencionando uma experiência pessoal. :)
Mas na OOP, diferente da programação estruturada, a sobrecarga de funções é essencial
Aí discordo. Não acho essencial. Minha percepção é diferente da sua, neste ponto. Acho que é só um recurso que ajuda eventualmente. Mas respeito seu ponto de vista.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Mensagem por rochinha »

Amiguinhos

Deixem de bater cabe~ca e revejam o primeiro post do topico.

Nosso amiguinho esta compilando um .PRG que faz chamadas a procedimentos externos, desta forma o objeto gerado sera um sõ e em um mesmo objeto nao poderao existir duas funcoes identicas.

O que deve ser feito:

Compilar cada .PRG para gerar objetos separados e LINKa-los de uma vez.

Pronto.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Deixem de bater cabe~ca e revejam o primeiro post do topico.
Mas pelo que eu vi, o colega Eder já se deu conta do erro que cometeu. Já até deve ter resolvido tudo. Se não tivesse resolvido, acredito que já teria voltado ao tema.
Estávamos, eu e o Stanis, apenas traçando uma conversa paralela ao caso. Não era uma discussão pra tentar resolver o caso. :)
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
ederxc
Usuário Nível 4
Usuário Nível 4
Mensagens: 619
Registrado em: 15 Set 2006 08:40
Localização: Pedreira -SP-

Mensagem por ederxc »

Maligno escreveu: Mas pelo que eu vi, o colega Eder já se deu conta do erro que cometeu. Já até deve ter resolvido tudo. Se não tivesse resolvido, acredito que já teria voltado ao tema.
Estávamos, eu e o Stanis, apenas traçando uma conversa paralela ao caso. Não era uma discussão pra tentar resolver o caso. :)


Tem razão aquilo foi resolvido .... Mancada feia mesmo , agora surge outras duvidas.

Usava a CT52.lib com o clipper , essa lib esta contida no XH ?

me ajudem a intender o que acontece nesse .log

Código: Selecionar todos

xHarbour Compiler build 0.99.70 (SimpLex)
Copyright 1999-2006, http://www.xharbour.org http://www.harbour-project.org/
Compiling 'COMP.PRG'...

 100
 200
 300
 400
 500
 600
 700
Lines 775, Functions/Procedures 17
Generating C source output to 'obj\COMP.c'...
Done.

Building object module for 'obj\COMP.c'
using C compiler 'BCC32' as defined in 'c:\xharbour\bin\harbour.cfg'...
Exec: BCC32  -c -D__EXPORT__ -Ic:\xharbour\include  -d -Lc:\xharbour\lib -oobj\COMP.obj obj\COMP.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
obj\COMP.c:
Done.
Deleting: "obj\COMP.c"
Done.
xHarbour Compiler build 0.99.70 (SimpLex)
Copyright 1999-2006, http://www.xharbour.org http://www.harbour-project.org/
Compiling 'FORN.PRG'...

 100
 200
 300
 400
 500
 600
 700
 800
 900
 1000
 1100
Lines 1171, Functions/Procedures 10
Generating C source output to 'obj\FORN.c'...
Done.

Building object module for 'obj\FORN.c'
using C compiler 'BCC32' as defined in 'c:\xharbour\bin\harbour.cfg'...
Exec: BCC32  -c -D__EXPORT__ -Ic:\xharbour\include  -d -Lc:\xharbour\lib -oobj\FORN.obj obj\FORN.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
obj\FORN.c:
Done.
Deleting: "obj\FORN.c"
Done.
xHarbour Compiler build 0.99.70 (SimpLex)
Copyright 1999-2006, http://www.xharbour.org http://www.harbour-project.org/
Compiling 'INDEXA.PRG'...

Lines 110, Functions/Procedures 3
Generating C source output to 'obj\INDEXA.c'...
Done.

Building object module for 'obj\INDEXA.c'
using C compiler 'BCC32' as defined in 'c:\xharbour\bin\harbour.cfg'...
Exec: BCC32  -c -D__EXPORT__ -Ic:\xharbour\include  -d -Lc:\xharbour\lib -oobj\INDEXA.obj obj\INDEXA.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
obj\INDEXA.c:
Done.
Deleting: "obj\INDEXA.c"
Done.
xHarbour Compiler build 0.99.70 (SimpLex)
Copyright 1999-2006, http://www.xharbour.org http://www.harbour-project.org/
Compiling 'MENU.PRG'...

Lines 197, Functions/Procedures 6
Generating C source output to 'obj\MENU.c'...
Done.

Building object module for 'obj\MENU.c'
using C compiler 'BCC32' as defined in 'c:\xharbour\bin\harbour.cfg'...
Exec: BCC32  -c -D__EXPORT__ -Ic:\xharbour\include  -d -Lc:\xharbour\lib -oobj\MENU.obj obj\MENU.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
obj\MENU.c:
Done.
Deleting: "obj\MENU.c"
Done.
xHarbour Compiler build 0.99.70 (SimpLex)
Copyright 1999-2006, http://www.xharbour.org http://www.harbour-project.org/
Compiling 'OPE.PRG'...

 100
 200
 300
Lines 363, Functions/Procedures 2
Generating C source output to 'obj\OPE.c'...
Done.

Building object module for 'obj\OPE.c'
using C compiler 'BCC32' as defined in 'c:\xharbour\bin\harbour.cfg'...
Exec: BCC32  -c -D__EXPORT__ -Ic:\xharbour\include  -d -Lc:\xharbour\lib -oobj\OPE.obj obj\OPE.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
obj\OPE.c:
Done.
Deleting: "obj\OPE.c"
Done.
xHarbour Compiler build 0.99.70 (SimpLex)
Copyright 1999-2006, http://www.xharbour.org http://www.harbour-project.org/
Compiling 'PECA.PRG'...

 100
 200
 300
 400
 500
Lines 580, Functions/Procedures 12
Generating C source output to 'obj\PECA.c'...
Done.

Building object module for 'obj\PECA.c'
using C compiler 'BCC32' as defined in 'c:\xharbour\bin\harbour.cfg'...
Exec: BCC32  -c -D__EXPORT__ -Ic:\xharbour\include  -d -Lc:\xharbour\lib -oobj\PECA.obj obj\PECA.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
obj\PECA.c:
Done.
Deleting: "obj\PECA.c"
Done.
xHarbour Compiler build 0.99.70 (SimpLex)
Copyright 1999-2006, http://www.xharbour.org http://www.harbour-project.org/
Compiling 'PEDIDO.PRG'...

 100
 200
 400
 500
 600
 700
 800
Lines 857, Functions/Procedures 17
Generating C source output to 'obj\PEDIDO.c'...
Done.

Building object module for 'obj\PEDIDO.c'
using C compiler 'BCC32' as defined in 'c:\xharbour\bin\harbour.cfg'...
Exec: BCC32  -c -D__EXPORT__ -Ic:\xharbour\include  -d -Lc:\xharbour\lib -oobj\PEDIDO.obj obj\PEDIDO.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
obj\PEDIDO.c:
Done.
Deleting: "obj\PEDIDO.c"
Done.
xHarbour Compiler build 0.99.70 (SimpLex)
Copyright 1999-2006, http://www.xharbour.org http://www.harbour-project.org/
Compiling 'SETOR.PRG'...

 200
 300
 400
Lines 482, Functions/Procedures 11
Error E0032  Can't create output file: 'obj\SETOR.obj\SETOR.c'

Building object module for 'obj\SETOR.obj\SETOR.c'
using C compiler 'BCC32' as defined in 'c:\xharbour\bin\harbour.cfg'...
Exec: BCC32  -c -D__EXPORT__ -Ic:\xharbour\include  -d -Lc:\xharbour\lib -oobj\SETOR.obj\SETOR.obj obj\SETOR.obj\SETOR.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
Error E2194: Could not find file 'obj\SETOR.obj\SETOR.c'
Done.
Deleting: "obj\SETOR.obj\SETOR.c"
Done.

:f
C:\Xharbour\Xdev\Fw\VSX
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

ederxc escreveu:Usava a CT52.lib com o clipper , essa lib esta contida no XH ?
Talvez possa ajudar se der uma olhada no eBook que subi pra minha seção de XHarbour. Pode não ser um eBook totalmente atualizado, mas a maioria das funções não deve ter mudado.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Usava a CT52.lib com o clipper , essa lib esta contida no XH ?
Eder, a maioria das funções da CA-TOOLS tem no xharbour...diga quais funções da CT52.LIB que vc usa que não tem no xharbour ? alias vc jah compilou algum teste ?
me ajudem a intender o que acontece nesse .log
No .log não tem nd de errado...é apenas informações do processo de compilação...

Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Responder