Betina 0 Denunciar post Postado Fevereiro 18, 2005 Ola!Tou com um pequeno problema. Estou a tentar executar o meu programa mais que uma vez (de computadores diferentes utilizando a mesma base de dados), utilizando uma pasta partilhada.Utilizo o Paradox.A minha intenção é que o segundo utilizador possa aceder ao programa (Já estando um a ser executado noutro posto). O que queria saber é quando um segundo utilizador vai tentar correr o programa, como é que detecto que o programa já está aberto, ou que a base de dados já está a ser utilizada no outro posto? Queria saber isto para que eu o obrigue apenas a consultar o programa e não fazer alterações.Utilizei a propriedade "exclusive" numa das tabelas mas não está a funcionar. Ou seja, abre-me o programa normalmente sem dar erro a indicar que a base de dados já está aberta.Agradecia se alguém soubesse me dar uma dica.Obrigado pela atenção. Compartilhar este post Link para o post Compartilhar em outros sites
Massuda 0 Denunciar post Postado Fevereiro 19, 2005 ... A minha intenção é que o segundo utilizador possa aceder ao programa (Já estando um a ser executado noutro posto). O que queria saber é quando um segundo utilizador vai tentar correr o programa, como é que detecto que o programa já está aberto, ou que a base de dados já está a ser utilizada no outro posto? Queria saber isto para que eu o obrigue apenas a consultar o programa e não fazer alterações.Uma forma de fazer isso:Quando o programa é iniciado, ele testa a existência de um "arquivo de controle" na pasta compartilhada; se o arquivo não existir, então cria o arquivo e assume que esta é a primeira execução do programa. Quando o próximo usuário executar o programa, o arquivo já existirá e assume que deve operar em modo de consulta.Há um problema se o programa executado pelo primeiro usuário, por algum motivo, não excluir o arquivo de controle quando for encerrado.Outra forma (mais trabalhosa) seria usar um esquema cliente/servidor (usando TServerSocket/TClientSocket, ICS ou Indy).Quando o programa é iniciado, ele tenta conectar com um servidor na rede; se a conexão falhar, então inicia um servidor e assume que esta é a primeira execução do programa. Quando o próximo usuário executar o programa, o programa vai conseguir conectar com um servidor e assume que deve operar em modo de consulta.... Utilizei a propriedade "exclusive" numa das tabelas mas não está a funcionar. Ou seja, abre-me o programa normalmente sem dar erro a indicar que a base de dados já está aberta.Talvez o BDE/Paradox não esteja configurado corretamente nas máquinas. Experimente dar uma olhada, por exemplo, neste artigo. Compartilhar este post Link para o post Compartilhar em outros sites