Página 3 de 3

Re: Impedir varias vezes

Enviado: 18 Mar 2006 17:29
por Augusto
Josmar dos Santos escreveu:(...) Atualmente eu uso o rtlink. Da para linkar com ele ???
Parceiro...
Dá uma olhada no meu post nesse tópico...
Tópico relacionado

abir o sistema varias vezes

Enviado: 18 Mar 2006 22:24
por Josmar dos Santos
Ola pessoal.
Eu usei praticamente todos os exemplos citados. Gostei de todos...
Em especial, a pergunta vai para o Marcelo e o Eolo !
Eu compilei ambos os exemplos que voces citaram. Não gerou erro nos dois, mas ambos nao executam o programa, será que faltando algum detalhe..?? sem mais grato

Josmar

Enviado: 20 Mar 2006 19:12
por Grings
Josmar, se vc não estiver trabalhando em rede, agora funcionará. Testei no XP;

Código: Selecionar todos

If !File('Status.Cfg')
   Fcreate('Status.Cfg')
Else
   Fopen('Status.Cfg',2+16)
   If Ferror() > 0
      Alert('O programa já está  aberto em outra janela...')
      Quit
   EndIf
EndIf

impedir sistema

Enviado: 20 Mar 2006 19:57
por Josmar dos Santos
Ola grings, eu testei a sua rotina e de fato funciomou. Mas não tem como fazer rodar em rede ? Porque eu uso 5 terminais ligados ao um servidor de rede Linux (samba)...sem mais grato
Josmar

Enviado: 21 Mar 2006 10:05
por Daniel
Josmar

o terminais tem hd, se tiver ! crie o arquivo na unidade c: de cada terminal

igual ao exemplo que eu postei, ai ele funcionara em rede

Código: Selecionar todos

If ! TravaJan() 
   Cls 
   Quit 
EndIf 

******************************** 
Function TravaJan() 

   if ! file("C:\CONTROLE.SYS") 
      errhandle:= fcreate("C:\CONTROLE.SYS", 1) 
      fwrite(errhandle,"[ Arquivo de Controle do Sistema ]") 
      FClose(errhandle) 
      errhandle:= fopen("C:\CONTROLE.SYS",2+16) 
      if ferror() > 0 
         Cls 
         Alert("O Sistema ja esta sendo executado! Olhe na barra de tarefa...") 
         Return(.f.) 
      endif 
   else 
      errhandle:= fopen("C:\CONTROLE.SYS",2+16) 
      if ferror() > 0 
         Cls 
         Alert("O Sistema ja esta sendo executado! Olhe na barra de tarefa...") 
         Return(.f.) 
      endif 
   EndIf 
   Return(.t.) 

Enviado: 21 Mar 2006 10:43
por Grings
Daniel, mais uma vez, não funciona!

Enviado: 21 Mar 2006 11:35
por Daniel
qual e o seu sistema? e Xp
tem com vc por a parte q vc chama a função e a função.
Pois aqui funciona no Xp, 2000 e 98 em rede.

Enviado: 21 Mar 2006 12:18
por Everton
Olá galera.


Teste os exemplos do Grings, e funcionou legal se tudo ocorre certo na máquina, pois quando se fecha a janela com o programa aberto ele não abre mais o sistema, pois ele acha que está aberto, fiz isso pois pode acontecer da máquina se desligar ou até mesmo o cliente fecha a janela, alguém teria uma ideia, testei usando o win98se, grato pela atenção

impedir

Enviado: 21 Mar 2006 14:26
por Josmar dos Santos
Ola Everton....gostaria de saber se vc testou o exemplo do grings na rede, pois em unico terminal, de fato funcionou, pois o mesmo funcionou também comigo..
josmar

Enviado: 21 Mar 2006 15:23
por Everton
Olá Josmar.


Testei sim em rede com win98SE e win XP, e funciona blz, o problema é quando fecha a janela sem sair do sistema, ai ele dá pau, tendo que reiniciar a máquina pra poder destravar o arquivo, fora isso parece funcionar blz.. estes teste foram feitos com um EXE só rodando nas duas máquinas e criando o arquivo no c:\status.cfg

sistema abrir várias

Enviado: 22 Mar 2006 07:26
por Josmar dos Santos
Ola galera, por mim, acho que ja da para encerrar esse tópico. Tem um monte de informações legais aqui. Agradeço a todos os colegas que me ajudaram nesse tópico....Garanto a vocês que vou usar todos esses exemplos para os meus sistemas....sem mais ..muito obrigado a todos...
Grato
Josmar

impedir

Enviado: 23 Mar 2006 04:36
por Josmar dos Santos
Ola Daniel
Eu nao queria mais tocar nesse assunto, mais fiquei curioso...
Testei a sua função, mas não entendi....o rtlink compila legal, não gera erros..tudo ok...mas pelo menos não rede(isso quer dizer que eu ainda não testei em rede), ele não executa o exe, ou seja, ja na primeira tentativa, ele ja emite a mensagem de aquivo aberto. O ideial seria na segunda !
sem mais

grato josmar

Enviado: 23 Mar 2006 09:49
por Daniel
Josmar

em rede vc tem q criar e abrir o arquivo no hd local "C:\" e não no servidor.
se a extação nao tiver hd nao funciona.