Página 1 de 1

Aplicativo HMG Windows 7 com poderes administrativos

Enviado: 28 Nov 2015 18:16
por microvolution
Olá pessoal, "oia nois cá traveis"!
No meu aplicativo que foi compilado usando a HMG 3.0.35 até nas versões 32 bits do windows (XP no caso) funcionava perfeitamente.

Num determinado cliente que tem um servidor WINDOWS SERVER 2003 com estações windows XP 32 bits, funcionava perfeitamente, até que foi adquirida uma máquina nova e para testarmos se funcionava a compilação em ambiente windows 7 64 bits, acontece alguns problemas, que não sei dizer se algo do harbour/hmg ou se é de políticas de segurança do windows 7 ou do servidor win 2k3.

Vamos lá então aos problemas com win 7, tanto 64 bits como em 32 bits:
1º problema:
Neste AD (domínio do server) temos 3 tipos de usuários: o BALCAO aqueles que não podem excluir nada e tem acesso a alguns aplicativos permitidos localmente, o GERENCIAL que tem permissões mais avançadas e o ADMINISTRATIVO que tem poderes de usuário ADMINISTRADOR.
Então, o primeiro problema é que se um usuário BALCAO logar na máquina com windows XP ele tem acesso normalmente como já tinha anteriormente em win 9x; mas se ele LOGAR numa máquina com windows 7 (32 ou 64 bits, não importa) o aplicativo apresenta mensagens de erro nos bancos de dados (tabelas DBF/NTX), pois eles não tem acesso a gravação, alteração, exclusão.

Agora, isso não acontece em outro cliente que não tem windows server, mas, que tem máquinas com windows 7 64 bits, se o usuário do logon for um ADMINISTRADOR.

2º problema:

Em todos os principais locais de impressão como: EXTRATO, VENDAS, ORÇAMENTOS estão todos funcionando corretamente, mas, no local da BAIXA de prestações dos clientes, funcionava assim:

a) quando um determinado cliente vem até à loja/empresa para pagar uma PRESTAÇÃO o usuário (do sistema) digita o código do cliente em seguida o código da prestação, que automaticamente já começava a imprimir na impressora (no nosso caso, ainda sistema LPT1).

b) quando o cliente vem pagar várias PRESTAÇÕES o usuário a cada prestação baixada a impressora imprimia e parava até concluir todos os recibos com um "ESC" e aí o final do recibo com o somatório finalmente saia, ou seja, a impressão ficava incomodando, pois imprimia, parava, imprimia, parava, etc...

Bom, para resolver o problema "b) acima, todos os recibos são direcionados para um arquivo temporário que ao final de tudo é impresso e excluído imediatamente, com um comando muito simples que todos nós conhecemos do nosso bom e velho clipper: !TYPE xxx.txt > PRN e !DEL xxx.txt > prn.
Vejam como faço no meu código:

Código: Selecionar todos

!type &CLI..PRN>prn
!del &CLI..PRN
Agora que vem o problema dito em questão: até nas versões do win xp (nunca usei o Win Vista) funcionava perfeitamente (lembrando que estou num ambiente domínio windows server 2003).
Nas máquinas que tem o windows 7 (32 ou 64 bits) isso não funciona, significando que o arquivo não imprime, não exclui e o pior, a cada vez que o usuário acessa o "dito cujo" do cliente e o arquivo aumenta de tamanho.

Não sei se expliquei demasiado ou se deu pra entender, mas, gostaria da ajuda dos colegas para tentar decifrar os 2 problemas:
1) como o usuário COMUM acessa todas as funcionalidades de nosso aplicativo?
2) como os comandos "!type" e "!del" devem ser configurados ou quais seus substitutos ou o que fazer para que funcione do jeito que pretendemos?

grato!
MVinfo 12 @anos evoluindo com você! www.mvinfo.wmx.net.br/sicca

Aplicativo HMG Windows 7 com poderes administrativos

Enviado: 28 Nov 2015 23:15
por microvolution
pessoal, só pra acrescentar:

aquele CLI..PRN que aparece nos comandos RUN TYPE e RUN DEL é criado um pouco antes para receber as linhas de impressão que criam o recibo, vejam:

Código: Selecionar todos

set device to printer
set printer to &CLI..PRN ADDITIVE
Então, todas as linhas de impressão vão primeiro pra dentro desse arquivo, que em seguida ao término com o pressionamento da tecla "ESC" aí sim são acionadas aquelas linhas RUN TYPE e RUN DEL que mencionei na primeira postagem.

Bom, como uma tentativa de entender melhor isso no win 7, que inclusive estou testando também no win 10 neste exato momento, modifiquei as linhas da primeira postagem para assim, vejam, por favor:

Código: Selecionar todos

// !type &CLI..PRN>prn
// !del &CLI..PRN
?'antes do type' // coloquei essa linha pra que no RUNTIME eu veja o que se escreve na tela preta do modo CONSOLE.
wait // coloquei essa linha pra que no RUNTIME eu veja o que se escreve na tela preta do modo CONSOLE.

cCOMANDOs := "type &CLI..PRN>prn"
hb_run (cCOMANDOS)
?'após o type' // coloquei essa linha pra que no RUNTIME eu veja o que se escreve na tela preta do modo CONSOLE.
wait // coloquei essa linha pra que no RUNTIME eu veja o que se escreve na tela preta do modo CONSOLE.

cCOMANDOs := "del &CLI..PRN>prn"
hb_run (cCOMANDOs) 
?'após o del' // coloquei essa linha pra que no RUNTIME eu veja o que se escreve na tela preta do modo CONSOLE.
wait // coloquei essa linha pra que no RUNTIME eu veja o que se escreve na tela preta do modo CONSOLE.
Mais uma vez finalizando esta postagem (por enquanto), já tentei assim também e não dá certo também:

Código: Selecionar todos

// !type &CLI..PRN>prn
// !del &CLI..PRN
?'antes do type' // coloquei essa linha pra que no RUNTIME eu veja o que se escreve na tela preta do modo CONSOLE.
wait // coloquei essa linha pra que no RUNTIME eu veja o que se escreve na tela preta do modo CONSOLE.


hb_run ("type &CLI..PRN>prn")
?'após o type' // coloquei essa linha pra que no RUNTIME eu veja o que se escreve na tela preta do modo CONSOLE.
wait // coloquei essa linha pra que no RUNTIME eu veja o que se escreve na tela preta do modo CONSOLE.

hb_run ("del &CLI..PRN>prn") 
?'após o del' // coloquei essa linha pra que no RUNTIME eu veja o que se escreve na tela preta do modo CONSOLE.
wait // coloquei essa linha pra que no RUNTIME eu veja o que se escreve na tela preta do modo CONSOLE.
Infelizmente a mensagem de erro que aparece são as seguintes:
"A sintaxe do comando está incorreta." e
"O sistema não pode encontrar o arquivo especificado."


As mensagens acima, se repetem para o TYPE e o DEL.
A segunda mensagem, acredito que está relacionada ao set printer to &CLI..PRN ADDITIVE que não deve estar criando o arquivo por algum motivo. Estranho que até na versão win xp isso não acontecia, mas, no win 7 e agora no win 10 que estou testando (provavelmente no vista e no 8 também devem acontecer) o arquivo não é criado.

Se puderem me ajudar, conto com os abençoados professores.

Grato!

Aplicativo HMG Windows 7 com poderes administrativos

Enviado: 28 Nov 2015 23:34
por Toledo
Amigo, tente o seguinte:

Código: Selecionar todos

hb_run ("type "+CLI+".PRN>prn")
hb_run ("del "+CLI+".PRN>prn")
Abraços,

Aplicativo HMG Windows 7 com poderes administrativos

Enviado: 29 Nov 2015 09:50
por Toledo
microvolution escreveu:No meu aplicativo que foi compilado usando a HMG 3.0.35
ATENÇÃO: a versão do Harbour que vem na HMG 3.0.35 é a 2.0.0, então é uma versão muito antiga do Harbour... hoje o Harbour já está na versão 3.4.

As funções do Harbour que começa com hb_ foram incluídas em uma versão mais recente do Harbour, certamente na versão 2.0.0 (que vem com a HMG 3.0.35) não existiam estas funções.

Bom, se você não atualizar a versão do seu Harbour, terá que tomar muito cuidado com as funções que pretende usar, pois muitas destas funções foram incluídas no Harbour depois da versão 2.0.0, e também muitos bugs (não tenho certeza se existia algum bug no Harbour 2.0.0) foram corrigidos em versões posteriores.

Então, você não poderá usar a função hb_run(), terá que usar mesmo o comando ! ou RUN.

Um outro detalhe, aqui no fórum não são todos os membros que compilam seus programas (console) com a IDE da HMG, e a compilação feita pela HMG é bem diferente do que muitos estão acostumados a compilar seus programas, então isto vai atrapalhar um pouco e a ajuda vai ser limitada.

Abraços,

Aplicativo HMG Windows 7 com poderes administrativos

Enviado: 29 Nov 2015 15:04
por microvolution
certo... mas, como faço para saber a versão do harbour da minha HMG 3.0.35? existe algum comando do CMD que eu faço?

Aplicativo HMG Windows 7 com poderes administrativos

Enviado: 29 Nov 2015 15:07
por microvolution
apesar que acredito que quando compilo já esteja usando o harbour 3.2 pois HBMK32 - se não me engano vejo aparecer nas mensagens de erro...

Aplicativo HMG Windows 7 com poderes administrativos

Enviado: 29 Nov 2015 17:23
por Toledo
microvolution escreveu:como faço para saber a versão do harbour da minha HMG 3.0.35?
Entre pelo prompt do DOS na pasta da HMG 3.0.35 (C:\hmg.3.0.35) e digite: build /cs xxxx.prg

ou entre na pasta C:\hmg.3.0.35\HARBOUR\bin e digite: harbour

Obs.: para aparecer a versão do Harbour, o xxxx.prg tem que ser um arquivo que não existe, é apenas para o harbour tentar compilar o arquivo.

Em qualquer uma das maneiras acima, a versão do Harbour vai aparecer nas primeiras linhas do comando.

Outra maneira de ver a versão do Harbour, coloque no seu programa:

Código: Selecionar todos

Alert(Version())
Abraços,

Aplicativo HMG Windows 7 com poderes administrativos

Enviado: 29 Nov 2015 17:43
por microvolution
prezado professor, tanto na pasta HMG\HARBOUR\BIN quanto dentro de meu programa, infelizmente está aparecendo a versão 2.0.0.
Veja a tela do meu aplicativo, com a linha que o prezado pediu que acrescentasse:
versao do harbour 2.JPG
Bom, agora que vem a solução, já que é a lei de Einsten, ação e reação... como fazer para que tenhamos uma HMG 3.0.35 com o harbour 3.4?

Aplicativo HMG Windows 7 com poderes administrativos

Enviado: 29 Nov 2015 18:24
por microvolution
Prezado Toledo e demais professores...
só pra acrescentar, fiz o seguinte teste...
na minha HMG 3.0.35 vimos que o harbour é 2.0.0, e, testei compilar na HMG 3.0.46, compilou, executou, mas, não aparece o aplicativo na tela, fica como um processo escondido, pois no gerenciador de tarefas ele está presente por lá e com o mesmo tamanho do executável na compilação da HMG 3.035.

Sei que preciso alterar algumas coisas no meu código e na configuração da IDE da 3.0.46 para que compile corretamente, mas, infelizmente, como sou novo em harbour, ou melhor, em harbour ainda não sou nada, digo, novo em hmg pois migrei apenas em janeiro deste ano de 2015.

Então, como uma tentativa óbvia para compilar na hmg 3.0.35 peguei a pasta harbour e todos as sub-pastas e arquivos da hmg 3.0.46 e substituí na versão 3.0.35, mas, pensando que daria certo, deu, o seguinte erro:

Código: Selecionar todos

hbmk2: Processando op‡äes do ambiente: -compiler=mingw
hbmk2: Compilando...
hbmk2: Linkando... SICCA3423.exe
g:/mvinfo/hmg.3.0.35/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: cannot find -lhbvpdf
collect2: ld returned 1 exit status
hbmk2: Erro: Executando linkeditor. 1
gcc.exe .hbmk/win/mingw/pci10000.o .hbmk/win/mingw/dci10000.o .hbmk/win/mingw/dci10001.o .hbmk/win/mingw/dci10002.o .hbmk/win/mingw/enviarerro.o .hbmk/win/mingw/ext.o .hbmk/win/mingw/impresso.o .hbmk/win/mingw/pci10001.o .hbmk/win/mingw/pci10002.o .hbmk/win/mingw/pci10003.o .hbmk/win/mingw/pci10004.o .hbmk/win/mingw/pci10005.o .hbmk/win/mingw/pci10006.o .hbmk/win/mingw/pci10007.o .hbmk/win/mingw/pci10008.o .hbmk/win/mingw/pci10009.o .hbmk/win/mingw/pci10012.o .hbmk/win/mingw/pci10013.o .hbmk/win/mingw/pci10014.o .hbmk/win/mingw/pci10015.o .hbmk/win/mingw/pci10016.o .hbmk/win/mingw/pci10017.o .hbmk/win/mingw/pci10018.o .hbmk/win/mingw/pci10019.o .hbmk/win/mingw/pci10020.o .hbmk/win/mingw/pci10021.o .hbmk/win/mingw/pci10022.o .hbmk/win/mingw/pci10024.o .hbmk/win/mingw/pci10025.o .hbmk/win/mingw/pci10026.o .hbmk/win/mingw/pci10027.o .hbmk/win/mingw/pci10028.o .hbmk/win/mingw/pci10031.o .hbmk/win/mingw/pci10032.o .hbmk/win/mingw/pci10033.o .hbmk/win/mingw/pci10034.o .hbmk/win/mingw/pci10035.o .hbmk/win/mingw/pci10038.o .hbmk/win/mingw/pci10039.o .hbmk/win/mingw/pci10040.o .hbmk/win/mingw/pci10041.o .hbmk/win/mingw/pci10042.o .hbmk/win/mingw/pci10043.o .hbmk/win/mingw/pci10044.o .hbmk/win/mingw/pci10045.o .hbmk/win/mingw/pci10046.o .hbmk/win/mingw/pci10047.o .hbmk/win/mingw/pci10100.o .hbmk/win/mingw/pci10102.o .hbmk/win/mingw/pci10110.o .hbmk/win/mingw/pci10115.o .hbmk/win/mingw/pci10116.o .hbmk/win/mingw/pci10120.o .hbmk/win/mingw/pci10121.o .hbmk/win/mingw/pci10122.o .hbmk/win/mingw/pci10123.o .hbmk/win/mingw/pci10124.o .hbmk/win/mingw/pci10125.o .hbmk/win/mingw/pci10126.o .hbmk/win/mingw/pci10127.o .hbmk/win/mingw/pci10130.o .hbmk/win/mingw/pci10131.o .hbmk/win/mingw/pci10132.o .hbmk/win/mingw/pci10133.o .hbmk/win/mingw/pci10135.o .hbmk/win/mingw/pci10136.o .hbmk/win/mingw/pci10140.o .hbmk/win/mingw/pci10151.o .hbmk/win/mingw/pci10152.o .hbmk/win/mingw/pci10200.o .hbmk/win/mingw/pci10202.o .hbmk/win/mingw/pci10203.o .hbmk/win/mingw/pci10204.o .hbmk/win/mingw/pci10210.o .hbmk/win/mingw/pci10211.o .hbmk/win/mingw/pci10212.o .hbmk/win/mingw/pci10213.o .hbmk/win/mingw/pci10215.o .hbmk/win/mingw/pci10216.o .hbmk/win/mingw/pci10217.o .hbmk/win/mingw/pci10220.o .hbmk/win/mingw/pci10221.o .hbmk/win/mingw/pci10222.o .hbmk/win/mingw/pci10225.o .hbmk/win/mingw/pci10226.o .hbmk/win/mingw/pci10227.o .hbmk/win/mingw/pci10228.o .hbmk/win/mingw/pci10229.o .hbmk/win/mingw/pci10230.o .hbmk/win/mingw/pci10231.o .hbmk/win/mingw/pci10240.o .hbmk/win/mingw/pci10250.o .hbmk/win/mingw/pci10251.o .hbmk/win/mingw/pci10252.o .hbmk/win/mingw/pci10254.o .hbmk/win/mingw/pci10255.o .hbmk/win/mingw/pci10256.o .hbmk/win/mingw/pci10260.o .hbmk/win/mingw/pci10270.o .hbmk/win/mingw/pci10271.o .hbmk/win/mingw/pci10272.o .hbmk/win/mingw/pci10273.o .hbmk/win/mingw/pci10995.o .hbmk/win/mingw/pci10996.o .hbmk/win/mingw/pci10997.o .hbmk/win/mingw/pci10998.o .hbmk/win/mingw/pci10999.o .hbmk/win/mingw/pcterror.o .hbmk/win/mingw/pimpr105.o .hbmk/win/mingw/pimpr110.o .hbmk/win/mingw/pimpr115.o .hbmk/win/mingw/pimpr120.o .hbmk/win/mingw/pimpr121.o .hbmk/win/mingw/pimpr125.o .hbmk/win/mingw/pimpr130.o .hbmk/win/mingw/rci10000.o .hbmk/win/mingw/rimpr000.o .hbmk/win/mingw/rotinas5.o .hbmk/win/mingw/_hbmkaut_pci10000.o _temp.o    -mwindows -Wl,--start-group -lhmg -lhbmysql -lmysql -lcrypt -ledit -leditex -lgraph -lini -lreport -lhbwin -lhbziparc -lhbmzip -lmsvfw32 -lvfw32 -lsddodbc -lrddsql -lsddmy -lhbodbc -lodbc32 -lhbhpdf -lhbvpdf -lhbmemio -lhbsqlit3 -lsqlite3 -lhbfimage -lhbpgsql -lpq -lhbtip -lhbct -lhbmisc -lhbnetio -lxhb -lgtwvg -lgtwin -lhbextern -lhbdebug -lhbvm -lhbrtl -lhblang -lhbcpage -lgtcgi -lgtpca -lgtstd -lgtwin -lgtwvt -lgtgui -lhbrdd -lhbuddall -lhbusrrdd -lrddntx -lrddcdx -lrddnsx -lrddfpt -lhbrdd -lhbhsx -lhbsix -lhbmacro -lhbcplr -lhbpp -lhbcommon -lhbmainwin -lkernel32 -luser32 -lgdi32 -ladvapi32 -lws2_32 -lwinspool -lcomctl32 -lcomdlg32 -lshell32 -luuid -lole32 -loleaut32 -lmpr -lwinmm -lmapi32 -limm32 -lmsimg32 -lwininet -lhbpcre -lhbzlib   -Wl,--end-group -oSICCA3423.exe  -LG:/MVinfo/hmg.3.0.35/harbour/lib/win/mingw -LG:/MVinfo/hmg.3.0.35//lib
agora, enfim, sabemos que estava compilando em harbour 2.0.0 na HMG 3.0.35 e na HMG 3.0.46 já vem com o harbour 3.2. Preciso de uma das 2 soluções:
fazemos a HMG 3.0.35 rodar o harbour 3.2 ou superior; ou
altero (o que não sei) no meu aplicativo para compilar com a HMG 3.0.46 ou a 3.4.0 (que já também já tenho instalada).

Por enquanto é só...

Aplicativo HMG Windows 7 com poderes administrativos

Enviado: 29 Nov 2015 22:45
por microvolution
bom, com a descoberta que meu harbour ainda era 2.0.0 (pensava eu que HMG 3.0.35 já era dotada do harbour 3.2), e, antes disso não me preocupava em seguir em frente...
quebrei cabeça e finalmente (acho) que entendi a diferença entre as versões 3.0.35 e as 3.0.46 e 3.4.0 que aprendi a compilar/migrar nelas.
Então já que consegui, já fui logo para a mais recente que tenho e compilei em 32 bits (3.4.0), vejam a tela da versão do harbour:
versao do harbour 3.JPG
Agora, só falta resolver o problema da impressão no win 7, 8 e 10.
Neste exato momento estou usando o win xp 32 bits e compilei, testei e imprimiu perfeitamente em LPT1 e testei em USB com a captura através do DOSPRN.

Bom, preciso que me ajudem com esta questão...
quanto ao tema deste tópico, ainda é necessário que me ajudem que é num ambiente de rede CLIENT/SERVER (windows server 2003 com estações win 7).

ok?

Aplicativo HMG Windows 7 com poderes administrativos

Enviado: 30 Nov 2015 10:05
por HASA
:))
Srs. chegando um pouco atraso no post para saber a versão do harbour na pasta bin digite harbour/q.

Caso a pasta do Harbour estiver no PATH só digitar harbour/q, ok.

:)Pos
HASA

Aplicativo HMG Windows 7 com poderes administrativos

Enviado: 18 Dez 2015 10:18
por microvolution
HASA escreveu:Caso a pasta do Harbour estiver no PATH só digitar harbour/q, ok.
blz Hasa, acabei de instalar a versão 3.4 do harbour e fiz o seu teste e informou direitinho...
agora só falta instalar o MINGW.

Abraços!