Imprimindo a CCe

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

Moderador: Moderadores

marcos.gurupi
Usuário Nível 4
Usuário Nível 4
Mensagens: 939
Registrado em: 06 Jul 2004 11:53
Localização: Gurupi-TO

Imprimindo a CCe

Mensagem por marcos.gurupi »

Caros, fiz a carta de correcao no meu sistema juntando varias informacoes aqui do forum (graças que existe este forum), testei aqui e funcionou que foi uma beleza. Acontece que uso o XP, quando instalei no cliente que usa o WIN7 ao usar o comando:

Código: Selecionar todos

oWord :=TOleAuto():New( "Word.Application" ) 
oDoc  :=oWord:Documents:Open( cFile ) 
oWord:Visible := .f. 
oWord:PrintOut()
O sistema trava, percebi entaum que fica uma janela atras do sistema pedindo para abrir o arquivo em modo somente leitura entaum se o usuario nao fechar o sistema (ctrl+alt+del) a carta de correcao nao eh aberta para impressao. Alguem saberia me dizer pq acontece isso?
Marcos Roberto
NetService Software
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Imprimindo a CCe

Mensagem por rochinha »

Amiguinho,

Talvez resolva se voce desligar o UAC. Pesquise sobre o mesmo na ajuda do Windows.

Transcreva o código abaixo para uso com sua versão de Harbour e as funções de registro que ele possui. A função SetRegVar() é para uso com Fivewin, portanto use algo nativo.

Código: Selecionar todos

FUNCTION UAC(nAtivar)
   *****************************************************
   * Grava o registro do aplicativo 
   *****************************************************
   LOCAL cRunName, cRunKey, cRegKey
   // EnableLUA
   // 0-Desativar
   // 1-Ativar
   cRegValue:= nAtivar
   cRegKey  := "Software\Microsoft\Windows\CurrentVersion\Policies\System"
   cRegRoot := HKEY_LOCAL_MACHINE
   SETREGVAR( cRegRoot, cRegKey, "EnableLUA", cRegValue )
   RETURN 0
Para usar:

UAC(0) - Desativa UAC
UAC(1) - Ativa UAC
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
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

Imprimindo a CCe

Mensagem por HASA »

:D
Boa tarde, Rocha tem alguma coisa assim para XP ?
Hasa
:-O
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Imprimindo a CCe

Mensagem por rochinha »

Amiguinho,

A chave em questão pode desativar também no XP. Testei no 2003 e visualizei as chaves, elas são alteradas. As chaves são padrão de XP e 2003

Apesar de ter testando no Vista, aquela porcaria peguntava até se eu tinha de responder a proxima pergunta.

Neste caso verifique se a opção passada surte efeito e tente esta aqui também:

Código: Selecionar todos

FUNCTION UACV(nAtivar)
   *****************************************************
   * Grava o registro do aplicativo 
   *****************************************************
   LOCAL cRunName, cRunKey, cRegKey
   // EnableLUA
   // 0-Desativar
   // 1-Ativar
   cRegValue:= nAtivar
   cRegKey  := "SOFTWARE\Microsoft\Security Center"
   cRegRoot := HKEY_LOCAL_MACHINE
   SETREGVAR( cRegRoot, cRegKey, "UACDisableNotify", cRegValue )
   RETURN 0
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
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

Imprimindo a CCe

Mensagem por HASA »

:(

Não encontrei a funcção equivalente a SETREGVAR(), tentei hb_SETREGVAR() no xHarbour ?
Tens uma carta na manga ?
HASA
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Imprimindo a CCe

Mensagem por rochinha »

Amiguinho,

De uma olhada nos TESTS do Harbour e veja se o mesmo tem exemplos de manipulação de registro.

Veja se possui uma biblioteca chamada HBWin e verifique o funcionamento da função WIN32_REGSETVALUEEX().

A biblioteca HBWhat também possui uma função para este fim, VWN_REGSETVALUEEX()

Todas fazem uso de chamadas a uma função mais interna: RegSetValueEx() ou RegSetValueExA().

Código: Selecionar todos

HB_FUNC( VWN_REGSETVALUEEX )
{

   hb_retnl( RegSetValueExA( ( HKEY ) HB_PARWH( 1 ), hb_parcx( 2 ), 0, hb_parnl( 4 ), ( BYTE * const ) hb_parcx( 5 ), ( strlen( hb_parcx( 5 ) ) + 1 ) ) );

}
De Harbour para xHarbour ou de versão para versão os nomes de bibliotecas mudam portanto procure por um similar.

A minha função REGSETVAR() chama funções dentro de uma classe do Fivewin. Por isto informei que porcurassem uma função similar.
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
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

Imprimindo a CCe

Mensagem por HASA »

:))
Beleza, Rocha eu tentei no xHarbour como hb_reg... mas vou dar uma geral nas demais lib´s, value mesmo,
:)Pos
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Imprimindo a CCe

Mensagem por rochinha »

Amiguinho,

No meu caso eu desligo o UAC em dois momentos:

- na instalação do sistema pois eu preciso adicionar e registrar DLLs
- no uso quando preciso registrar DLLs que provavelmente não foram registradas ainda.

Só não sei se o UAC poderá ser ligado e desligado a quente ou se será necessário reiniciar a maquina a cada modificação do seu estado.
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
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

Imprimindo a CCe

Mensagem por HASA »

:-O
Beleza, o problema são os clientes em que o sistema já estava instalado e o mesmo está adicionando ( ou mudando o sistema para 7 ) na rede, eu não uso DLL´s, somente lib´s tento sempre que possivel utilizar dll´s pré-Instaladas, para não dizer que não instalo nada, o acbr instala quando da instalação do monitor da NF-e, e só essa, já tá bom demais ok, mesmo assim agradeço,
:-Y
HASA
Responder