Problemas com #include
Enviado: 01 Jan 2015 11:05
Ola pessoal.
Acredito que minha duvida é bem primaria mas não encontro a solução em lugar algum.
Sou iniciante em clipper e estou estudando clipper/xHarbour. Estudando a parte "grafica" fazendo menus com o @...PROMPT, molduras com o @...BOX, e está sendo bem legal.
O problema é que estou querendo dividir o programa em .PRGs, mas na hora de colocar o #include dá problema. Se coloco o codigo todos juntos no mesmo .PRG funciona perfeitamente, se tento fazer pelo #include não. Por exemplo:
color.prg
menu.prg
Ele compila certinho mas na hora de executar o "menu.exe" aparece a mensagem "Deu erro" do cor.prg. Se copio o conteúdo do cor.prg e colo abaixo do RETURN NIL da FUNCTION MAIN() dentro do menu.prg o programa funciona. A impressão que tenho é que na hora de compilar o xHarbour acha que o cor.prg é o principal e não o menu.prg.
Eu tenho um livro (na verdade 3 deles) do Antonio Geral da Rocha Vidal, Clipper 5.0 Linguagem Comandos, e nele diz que para compilar o arquivo que contenha o "Procedimento Principal" é necessário colocar o /N como parâmetro no compilador.
Eu pesquisei a respeito no xHarbour e não encontrei nada. No Harbour eu encontrei um texto explicando que eu posso definir o nome da function/procedure main através do -main=<nomedamain>, mas por padrão ele pega como Main().
Fiz testes colocando a function/procedure main como:
FUNCTION MAIN()
FUNCTION Main()
FUNCTION MAIN
FUNCTION Main
com a PROCEDURE fiz o mesmo teste.
Desculpem estar postando no tópico Harbour, sei que hoje ele superior ao xHarbour e que o correto era estudar por ele agora, mas infelizmente o xHarbour é uma premissa.
Alguém tem uma dica, ideia, algum texto explicativo que mostre onde estou errando?
Obs.: Meu conhecimento é quase nulo em relação a parte de compilação do xHarbour. Eu uso 2 arquivos .bat que um colega passou. Um "seta" as variáveis e outro compila o programa.
Desde já agradeço.
Feliz ano novo!
Acredito que minha duvida é bem primaria mas não encontro a solução em lugar algum.
Sou iniciante em clipper e estou estudando clipper/xHarbour. Estudando a parte "grafica" fazendo menus com o @...PROMPT, molduras com o @...BOX, e está sendo bem legal.
O problema é que estou querendo dividir o programa em .PRGs, mas na hora de colocar o #include dá problema. Se coloco o codigo todos juntos no mesmo .PRG funciona perfeitamente, se tento fazer pelo #include não. Por exemplo:
color.prg
Código: Selecionar todos
PROCEDURE corDaTela(corTela)
IF corTela=1
SET COLOR TO gr+/b,r+/n
ELSEIF corTela=2
SET COLOR TO b/gr+,n/r+
ELSE
? "Deu erro!"
ENDIF
RETURN
menu.prg
Código: Selecionar todos
#include "color.prg"
FUNCTION MAIN()
LOCAL nChoice:=1
SET WRAP ON
SET MESSAGE TO 23 CENTER
CLEAR SCREEN
corDaTela(2)
@ 03,08 PROMPT "TESTE1" MESSAGE "Fazendo testes..."
@ 04,08 PROMPT "Teste2" MESSAGE "outra vez testando"
MENU TO nChoice
RETURN NIL
Eu tenho um livro (na verdade 3 deles) do Antonio Geral da Rocha Vidal, Clipper 5.0 Linguagem Comandos, e nele diz que para compilar o arquivo que contenha o "Procedimento Principal" é necessário colocar o /N como parâmetro no compilador.
Eu pesquisei a respeito no xHarbour e não encontrei nada. No Harbour eu encontrei um texto explicando que eu posso definir o nome da function/procedure main através do -main=<nomedamain>, mas por padrão ele pega como Main().
Fiz testes colocando a function/procedure main como:
FUNCTION MAIN()
FUNCTION Main()
FUNCTION MAIN
FUNCTION Main
com a PROCEDURE fiz o mesmo teste.
Desculpem estar postando no tópico Harbour, sei que hoje ele superior ao xHarbour e que o correto era estudar por ele agora, mas infelizmente o xHarbour é uma premissa.
Alguém tem uma dica, ideia, algum texto explicativo que mostre onde estou errando?
Obs.: Meu conhecimento é quase nulo em relação a parte de compilação do xHarbour. Eu uso 2 arquivos .bat que um colega passou. Um "seta" as variáveis e outro compila o programa.
Desde já agradeço.
Feliz ano novo!