Problemas ao rodar o programa no Windows
Moderador: Moderadores
-
diogenes_varela
- Usuário Nível 3

- Mensagens: 206
- Registrado em: 04 Nov 2006 19:33
- Localização: Brasília - DF
Problemas ao rodar o programa no Windows
Olá, colegas!
Utilizo um programa que desenvolvi em Clipper 5.2 que roda bem no MS-DOS pelo Windows 98.
No XP (SP2) funciona bem, não trava, mas as cores ficam esmaecidas e os comandos de blink não funcionam (os avisos não piscam), só ficam com fundo diferente (desbotado).
Isso só acontece se configurar o atalho para abrir em "Tela inteira". Se optar por "Janela" e depois maximizar (alt+enter), funciona perfeitamente.
Alguém sabe que alteração poderei fazer para que funcione normalmente no Windows XP?
Utilizo um programa que desenvolvi em Clipper 5.2 que roda bem no MS-DOS pelo Windows 98.
No XP (SP2) funciona bem, não trava, mas as cores ficam esmaecidas e os comandos de blink não funcionam (os avisos não piscam), só ficam com fundo diferente (desbotado).
Isso só acontece se configurar o atalho para abrir em "Tela inteira". Se optar por "Janela" e depois maximizar (alt+enter), funciona perfeitamente.
Alguém sabe que alteração poderei fazer para que funcione normalmente no Windows XP?
-
Stanis Luksys
- Colaborador

- Mensagens: 1329
- Registrado em: 18 Jun 2005 03:04
- Localização: São Paulo
- Contato:
Rapaz,
Eu posso te dizer o seguinte, eu não sei ao certo qual é realmente a solução, porém acredito que seja coisa de placa de vídeo.
Eu já constatei que o Windows XP não tem um comportamento estável em diferentes tipos de hardware, no que se refere a programas 16 bits.
Este problema já tive também e não consegui resolver, mas não acobtece em todos os PCs com XP não, geralmente nos chipsets SIS com video onboard com menos de 8 MB.
Pode ser uma conclusão precipitada, mas foi o que encontrei em comum onde tive este problema.
Só mais uma coisa, como tentativa, no PRG principal coloque:
SetMode( 25, 80 )
Tente também usar o drive VESA, e chame num bat antes do programa. Talvez funcione.
Falou.
Eu posso te dizer o seguinte, eu não sei ao certo qual é realmente a solução, porém acredito que seja coisa de placa de vídeo.
Eu já constatei que o Windows XP não tem um comportamento estável em diferentes tipos de hardware, no que se refere a programas 16 bits.
Este problema já tive também e não consegui resolver, mas não acobtece em todos os PCs com XP não, geralmente nos chipsets SIS com video onboard com menos de 8 MB.
Pode ser uma conclusão precipitada, mas foi o que encontrei em comum onde tive este problema.
Só mais uma coisa, como tentativa, no PRG principal coloque:
SetMode( 25, 80 )
Tente também usar o drive VESA, e chame num bat antes do programa. Talvez funcione.
Falou.
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.
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.
-
diogenes_varela
- Usuário Nível 3

- Mensagens: 206
- Registrado em: 04 Nov 2006 19:33
- Localização: Brasília - DF
Testei a dica acima e o resultado foi o seguinte:Stanis Luksys escreveu:Rapaz,
Eu posso te dizer o seguinte, eu não sei ao certo qual é realmente a solução, porém acredito que seja coisa de placa de vídeo.
Eu já constatei que o Windows XP não tem um comportamento estável em diferentes tipos de hardware, no que se refere a programas 16 bits.
Este problema já tive também e não consegui resolver, mas não acobtece em todos os PCs com XP não, geralmente nos chipsets SIS com video onboard com menos de 8 MB.
Pode ser uma conclusão precipitada, mas foi o que encontrei em comum onde tive este problema.
Só mais uma coisa, como tentativa, no PRG principal coloque:
SetMode( 25, 80 )
Tente também usar o drive VESA, e chame num bat antes do programa. Talvez funcione.
Falou.
Com o comando para SETMODE(25,80) os comandos de blink, como por exemplo, SETCOLOR("gr+*/r") voltaram a funcionar, mas se o atalho for configurado para abrir em "Tela inteira", as cores ficam embaçadas, o que não acontece se for configurado para abrir em janela e depois mudar para tela inteira usando alt+enter
Tinha esquecido de mencionar, mas os comandos SET KEY também não são obedecidos.
Antes eu usava SETMODE(43,80) e ocorria (somente no XP) uma troca da página de códigos do MS-DOS e os caracteres com acento eram mostrados truncados. Em 25,80 isso não está mais acontecendo.
Brigadão pela atenção.
-
diogenes_varela
- Usuário Nível 3

- Mensagens: 206
- Registrado em: 04 Nov 2006 19:33
- Localização: Brasília - DF
Everton escreveu:Olá Amigo
Não sei se vai resolver esse problema mas não custa tentar remova este programa que executa automático no reg do windows e teste
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run...HTpatch
qualquer coisa me avise
Valeu a intenção, mas infelizmente não existe o valor...
Os computadores não sabem o que fazem. Nós, na maioria das vezes, também não...
E disse ao Programador: "Todos os teus programas terão erros e irás corrigi-los até ao fim dos teus dias". Gen. 1:9
E disse ao Programador: "Todos os teus programas terão erros e irás corrigi-los até ao fim dos teus dias". Gen. 1:9
-
diogenes_varela
- Usuário Nível 3

- Mensagens: 206
- Registrado em: 04 Nov 2006 19:33
- Localização: Brasília - DF
É o seguinte, colegas,
Acrescentei uma linha no programa:
RUN MODE CON CODEPAGE PREPARE=((850) C:\%SystemRoot%\system32\ega.cpi)
RUN MODE cols=80 lines=25
Agora, somente os caracteres maiúsculos acentuados estão saindo truncados.
Não consigo detectar onde está ocorrendo a troca de página de códigos não solicitada...
Acrescentei uma linha no programa:
RUN MODE CON CODEPAGE PREPARE=((850) C:\%SystemRoot%\system32\ega.cpi)
RUN MODE cols=80 lines=25
Agora, somente os caracteres maiúsculos acentuados estão saindo truncados.
Não consigo detectar onde está ocorrendo a troca de página de códigos não solicitada...
Os computadores não sabem o que fazem. Nós, na maioria das vezes, também não...
E disse ao Programador: "Todos os teus programas terão erros e irás corrigi-los até ao fim dos teus dias". Gen. 1:9
E disse ao Programador: "Todos os teus programas terão erros e irás corrigi-los até ao fim dos teus dias". Gen. 1:9
-
diogenes_varela
- Usuário Nível 3

- Mensagens: 206
- Registrado em: 04 Nov 2006 19:33
- Localização: Brasília - DF
Estou começando a achar que o problema está mesmo na página de códido.
A página de código-padrão do Windows XP é usada em ANSI Win32 APIs para converter um caractere de ANSI para Unicode.
É nessa conversão que os caracteres ficam truncados. Nesse caso o problema seria somente o velho MS-DOS...
A página de código-padrão do Windows XP é usada em ANSI Win32 APIs para converter um caractere de ANSI para Unicode.
É nessa conversão que os caracteres ficam truncados. Nesse caso o problema seria somente o velho MS-DOS...
Os computadores não sabem o que fazem. Nós, na maioria das vezes, também não...
E disse ao Programador: "Todos os teus programas terão erros e irás corrigi-los até ao fim dos teus dias". Gen. 1:9
E disse ao Programador: "Todos os teus programas terão erros e irás corrigi-los até ao fim dos teus dias". Gen. 1:9
-
diogenes_varela
- Usuário Nível 3

- Mensagens: 206
- Registrado em: 04 Nov 2006 19:33
- Localização: Brasília - DF
Alguém sabe informar se existe algum comando que possa ser digitado no prompt que maximize ou minimize janelas?
Os computadores não sabem o que fazem. Nós, na maioria das vezes, também não...
E disse ao Programador: "Todos os teus programas terão erros e irás corrigi-los até ao fim dos teus dias". Gen. 1:9
E disse ao Programador: "Todos os teus programas terão erros e irás corrigi-los até ao fim dos teus dias". Gen. 1:9
-
diogenes_varela
- Usuário Nível 3

- Mensagens: 206
- Registrado em: 04 Nov 2006 19:33
- Localização: Brasília - DF
O problema incial de cores desbotadas e comandos de blinks que não piscavam já foi superado. Todas as cores, inclusive o cinza, estão OK.
Só restou a troca de alguns caracteres acentuados. Pesquisando sobre o assunto em outros fóruns encontrei o post abaixo, do moderador jqueiroz, que explica muito bem a configuração da página de códigos do MS-DOS e do Windows:
1. Inicializando o programa em Tela cheia, há a troca de caracteres;
2. Inicializando no modo Janela e, depois maximizando, usando Ctrl+Enter, todos os caracteres são exibidos perfeitamente.
Onde está o problema? Há uma troca de página de código em tela cheia que não acontece ao maximizar a janela? Como isso é possível?
Só restou a troca de alguns caracteres acentuados. Pesquisando sobre o assunto em outros fóruns encontrei o post abaixo, do moderador jqueiroz, que explica muito bem a configuração da página de códigos do MS-DOS e do Windows:
Só não consegui entender, apesar da boa explicação, como é que:o que acontece é que o DOS e o Windows trabalham em Code Pages diferentes. Enquanto o DOS trabalha com os CP 437 (US), 850 e 860, o Windows usa o CP 1200 para o português e outras línguas latinas, isso quando não usa Unicode (código de 2 bytes).
Mas essa diferença só se aplica para os códigos acima de 127;
1. Inicializando o programa em Tela cheia, há a troca de caracteres;
2. Inicializando no modo Janela e, depois maximizando, usando Ctrl+Enter, todos os caracteres são exibidos perfeitamente.
Onde está o problema? Há uma troca de página de código em tela cheia que não acontece ao maximizar a janela? Como isso é possível?
Os computadores não sabem o que fazem. Nós, na maioria das vezes, também não...
E disse ao Programador: "Todos os teus programas terão erros e irás corrigi-los até ao fim dos teus dias". Gen. 1:9
E disse ao Programador: "Todos os teus programas terão erros e irás corrigi-los até ao fim dos teus dias". Gen. 1:9
-
diogenes_varela
- Usuário Nível 3

- Mensagens: 206
- Registrado em: 04 Nov 2006 19:33
- Localização: Brasília - DF
Comunico e compartilho com os interessados que, foi difícil...
mas CONSEGUI!
1. Ao redimensionar a tela, o Windows XP alterava a página de código, de modo que caracteres com numeração ASCII acima de 127 eram transformados em "Box Characters", alterando portanto, os seguintes caracteres:
CHR(214) Í
CHR(228) õ
2. Inseri no PRG uma solicitação de alteração para CP (437) e outra em seguida retornando para CP (850)
Problema resolvido e o programa está rodando como nos bons tempos do MS-DOS...
Agradeço aos que ajudaram com sugestões.
mas CONSEGUI!
1. Ao redimensionar a tela, o Windows XP alterava a página de código, de modo que caracteres com numeração ASCII acima de 127 eram transformados em "Box Characters", alterando portanto, os seguintes caracteres:
CHR(214) Í
CHR(228) õ
2. Inseri no PRG uma solicitação de alteração para CP (437) e outra em seguida retornando para CP (850)
Problema resolvido e o programa está rodando como nos bons tempos do MS-DOS...
Agradeço aos que ajudaram com sugestões.
Os computadores não sabem o que fazem. Nós, na maioria das vezes, também não...
E disse ao Programador: "Todos os teus programas terão erros e irás corrigi-los até ao fim dos teus dias". Gen. 1:9
E disse ao Programador: "Todos os teus programas terão erros e irás corrigi-los até ao fim dos teus dias". Gen. 1:9
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Amiguinho
Se não me engano a VisualLIB possuia uma função chamada VL850() que deveria ser colocada no primeiro .PRG para sanar este problema.
Voce já usava ele e mesmo assim dava peripaque?
Se não me engano a VisualLIB possuia uma função chamada VL850() que deveria ser colocada no primeiro .PRG para sanar este problema.
Voce já usava ele e mesmo assim dava peripaque?
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.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
-
Stanis Luksys
- Colaborador

- Mensagens: 1329
- Registrado em: 18 Jun 2005 03:04
- Localização: São Paulo
- Contato:
É verdade mesmo...
E na antiga Visual Lib eu me lembro que também tinha um lance de trocar alguns arquivos do Windows para que os caracteres aparecessem corretamente quando executados em modo Janela... Mas zuava todos os outros programas que não seu.... hehe
Mas... Que bom que conseguiu!
Eu tive também um problema com LLIBG, simplesmente tela preta com cursor piscando, em uns 3 ou 4 PCs já... Vai entender o XPeta! Este se alguem souber pode me falar que pago um guaraná! rsrs
Valeu!
E na antiga Visual Lib eu me lembro que também tinha um lance de trocar alguns arquivos do Windows para que os caracteres aparecessem corretamente quando executados em modo Janela... Mas zuava todos os outros programas que não seu.... hehe
Mas... Que bom que conseguiu!
Eu tive também um problema com LLIBG, simplesmente tela preta com cursor piscando, em uns 3 ou 4 PCs já... Vai entender o XPeta! Este se alguem souber pode me falar que pago um guaraná! rsrs
Valeu!
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.
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.
-
diogenes_varela
- Usuário Nível 3

- Mensagens: 206
- Registrado em: 04 Nov 2006 19:33
- Localização: Brasília - DF
Não, nem sabia dessa função. Vou procurar.rochinha escreveu:Amiguinho
Se não me engano a VisualLIB possuia uma função chamada VL850() que deveria ser colocada no primeiro .PRG para sanar este problema.
Voce já usava ele e mesmo assim dava peripaque?
Os computadores não sabem o que fazem. Nós, na maioria das vezes, também não...
E disse ao Programador: "Todos os teus programas terão erros e irás corrigi-los até ao fim dos teus dias". Gen. 1:9
E disse ao Programador: "Todos os teus programas terão erros e irás corrigi-los até ao fim dos teus dias". Gen. 1:9