Bloquear abrir vários


Carlos Mollero
 

Boa tarde,

Gostaria de saber se existe algum recurso/função para evitar que uma aplicação Magic/uniPaaS seja aberta mais de uma vez na mesma máquina.


Desde já agradeço,

Obrigado.

--
Carlos Mollero.


--
Este email foi escaneado pelo Avast antivírus.
https://www.avast.com/antivirus


Alencar Philereno
 

Acredito que o recurso natural do xpa não deva ter.
O que tu pode fazer é um controle no braço. Já fiz algo semelhante no Magic 5.7.
Ao abrir a aplicação, gera um controle. Ao fechar a aplicação, apaga este controle.
Se, ao abrir, o controle já existe, avisa que já existe instância aberta e encerra a aplicação.

O problema disso é algum possível fechamento forçado, por exemplo, queda de luz e tal.
Daí o controle vai ficar aberto. Eu tive problemas com isso.

Alencar
--------------------------------------------------------------
Jose Alencar Philereno
Bacharel em Sistemas de Informacao
Fit - Faccat    Taquara/RS  2009
Twitter: https://twitter.com/APhilereno
Facebook: https://www.facebook.com/philereno

"A sabedoria de um ser humano não está no quanto ele sabe,
mas no quanto ele tem consciência de que não sabe.
Você tem esta consciência?"
O futuro da Humanidade. - Augusto Cury



Em ter., 14 de jun. de 2022 às 17:32, Carlos Mollero via groups.io <carlosmollero=yahoo.com.br@groups.io> escreveu:

Boa tarde,

Gostaria de saber se existe algum recurso/função para evitar que uma
aplicação Magic/uniPaaS seja aberta mais de uma vez na mesma máquina.


Desde já agradeço,

Obrigado.

--
Carlos Mollero.


--
Este email foi escaneado pelo Avast antivírus.
https://www.avast.com/antivirus







Carlos Mollero
 

Boa tarde Alencar,

Legal a ideia, más acredito que possa ter problemas mesmo neste sentido.

Estou tentando criar isso já para solucionar alguns problemas de "Linha locada" em tabelas Pervasive/Btrieve.


Obrigado.

Em 14/06/2022 17:43, Alencar Philereno escreveu:
Acredito que o recurso natural do xpa não deva ter.
O que tu pode fazer é um controle no braço. Já fiz algo semelhante no Magic 5.7.
Ao abrir a aplicação, gera um controle. Ao fechar a aplicação, apaga este controle.
Se, ao abrir, o controle já existe, avisa que já existe instância aberta e encerra a aplicação.

O problema disso é algum possível fechamento forçado, por exemplo, queda de luz e tal.
Daí o controle vai ficar aberto. Eu tive problemas com isso.

Alencar
--------------------------------------------------------------
Jose Alencar Philereno
Bacharel em Sistemas de Informacao
Fit - Faccat    Taquara/RS  2009
Twitter: https://twitter.com/APhilereno
Facebook: https://www.facebook.com/philereno

"A sabedoria de um ser humano não está no quanto ele sabe,
mas no quanto ele tem consciência de que não sabe.
Você tem esta consciência?"
O futuro da Humanidade. - Augusto Cury



Em ter., 14 de jun. de 2022 às 17:32, Carlos Mollero via groups.io <carlosmollero=yahoo.com.br@groups.io> escreveu:
Boa tarde,

Gostaria de saber se existe algum recurso/função para evitar que uma
aplicação Magic/uniPaaS seja aberta mais de uma vez na mesma máquina.


Desde já agradeço,

Obrigado.

--
Carlos Mollero.


--
Este email foi escaneado pelo Avast antivírus.
https://www.avast.com/antivirus







-- 
Carlos Mollero.

Livre de vírus. www.avast.com.


Carlos Mollero
 

Bom dia,

Só para complementar a ideia...

Em algumas tarefas armazenamos uma sequencia por exemplo "sequencia_requisicao", então quando o usuário grava uma nova requisição é chamado uma tarefa que atualiza esta sequencia em um arquivo parâmetro e devido algum problema esta tarefa trava/travou/demorou mais que normal, aí o usuário finaliza tudo erroneamente, isso faz com que o arquivo/registro fique preso não deixando ser alterado retornando a "linha locada".

Então vendo os logs, também percebi que em determinadas máquinas da rede estão abrindo o programa várias vezes, também podendo gerar "linha locada", por isso estava procurando uma saída.


Obrigado.

Em 14/06/2022 18:14, Carlos Mollero via groups.io escreveu:
Boa tarde Alencar,

Legal a ideia, más acredito que possa ter problemas mesmo neste sentido.

Estou tentando criar isso já para solucionar alguns problemas de "Linha locada" em tabelas Pervasive/Btrieve.


Obrigado.

Em 14/06/2022 17:43, Alencar Philereno escreveu:
Acredito que o recurso natural do xpa não deva ter.
O que tu pode fazer é um controle no braço. Já fiz algo semelhante no Magic 5.7.
Ao abrir a aplicação, gera um controle. Ao fechar a aplicação, apaga este controle.
Se, ao abrir, o controle já existe, avisa que já existe instância aberta e encerra a aplicação.

O problema disso é algum possível fechamento forçado, por exemplo, queda de luz e tal.
Daí o controle vai ficar aberto. Eu tive problemas com isso.

Alencar
--------------------------------------------------------------
Jose Alencar Philereno
Bacharel em Sistemas de Informacao
Fit - Faccat    Taquara/RS  2009
Twitter: https://twitter.com/APhilereno
Facebook: https://www.facebook.com/philereno

"A sabedoria de um ser humano não está no quanto ele sabe,
mas no quanto ele tem consciência de que não sabe.
Você tem esta consciência?"
O futuro da Humanidade. - Augusto Cury



Em ter., 14 de jun. de 2022 às 17:32, Carlos Mollero via groups.io <carlosmollero=yahoo.com.br@groups.io> escreveu:
Boa tarde,

Gostaria de saber se existe algum recurso/função para evitar que uma
aplicação Magic/uniPaaS seja aberta mais de uma vez na mesma máquina.


Desde já agradeço,

Obrigado.

--
Carlos Mollero.


--
Este email foi escaneado pelo Avast antivírus.
https://www.avast.com/antivirus







-- 
Carlos Mollero.

Livre de vírus. www.avast.com.

-- 
Carlos Mollero.


Eric Anuleiz
 

Carlos, bom dia,

    No meu ERP fizemos um controle de sessão do usuário logado, e com o ID da sessão fazemos controle de acesso.
    Caso no login, detectamos que tem alguma outra sessão para o mesmo usuário, avisamos que já existe um usuário logado com o mesmo nome e caso entre o outro será derrubado, o ele clica em sim, gravamos na tabela de sessão do mesmo user e com ID diferente do atual que é para fazer logoff, ai tenho um timer que corre no main a cada 2 minutos verificando as sessões que devemos fazer o logoff, e caso seja da máquina que está com a sessão aberta executamos um Application Exit...
    Não vou dizer que funciona 100% pois as vezes ainda tem situação que ficam lá, mas com esse mecanismo todo resolvemos uns 95% ou mais dos casos.
    Coloquei mais aqui como fazemos pois as vezes abre uma ideia para vc ai.

Abraços,

Eric

Em qua., 15 de jun. de 2022 às 07:33, Carlos Mollero via groups.io <carlosmollero=yahoo.com.br@groups.io> escreveu:

Bom dia,

Só para complementar a ideia...

Em algumas tarefas armazenamos uma sequencia por exemplo "sequencia_requisicao", então quando o usuário grava uma nova requisição é chamado uma tarefa que atualiza esta sequencia em um arquivo parâmetro e devido algum problema esta tarefa trava/travou/demorou mais que normal, aí o usuário finaliza tudo erroneamente, isso faz com que o arquivo/registro fique preso não deixando ser alterado retornando a "linha locada".

Então vendo os logs, também percebi que em determinadas máquinas da rede estão abrindo o programa várias vezes, também podendo gerar "linha locada", por isso estava procurando uma saída.


Obrigado.

Em 14/06/2022 18:14, Carlos Mollero via groups.io escreveu:
Boa tarde Alencar,

Legal a ideia, más acredito que possa ter problemas mesmo neste sentido.

Estou tentando criar isso já para solucionar alguns problemas de "Linha locada" em tabelas Pervasive/Btrieve.


Obrigado.

Em 14/06/2022 17:43, Alencar Philereno escreveu:
Acredito que o recurso natural do xpa não deva ter.
O que tu pode fazer é um controle no braço. Já fiz algo semelhante no Magic 5.7.
Ao abrir a aplicação, gera um controle. Ao fechar a aplicação, apaga este controle.
Se, ao abrir, o controle já existe, avisa que já existe instância aberta e encerra a aplicação.

O problema disso é algum possível fechamento forçado, por exemplo, queda de luz e tal.
Daí o controle vai ficar aberto. Eu tive problemas com isso.

Alencar
--------------------------------------------------------------
Jose Alencar Philereno
Bacharel em Sistemas de Informacao
Fit - Faccat    Taquara/RS  2009
Twitter: https://twitter.com/APhilereno
Facebook: https://www.facebook.com/philereno

"A sabedoria de um ser humano não está no quanto ele sabe,
mas no quanto ele tem consciência de que não sabe.
Você tem esta consciência?"
O futuro da Humanidade. - Augusto Cury



Em ter., 14 de jun. de 2022 às 17:32, Carlos Mollero via groups.io <carlosmollero=yahoo.com.br@groups.io> escreveu:
Boa tarde,

Gostaria de saber se existe algum recurso/função para evitar que uma
aplicação Magic/uniPaaS seja aberta mais de uma vez na mesma máquina.


Desde já agradeço,

Obrigado.

--
Carlos Mollero.


--
Este email foi escaneado pelo Avast antivírus.
https://www.avast.com/antivirus







-- 
Carlos Mollero.

Livre de vírus. www.avast.com.

-- 
Carlos Mollero.


Carlos Mollero
 

Bom dia Eric,

Então, não sei se estamos falando do mesmo DBMS, o problema esta com Pervasive/Btrieve... por exemplo, se uma tarefa qualquer demora um pouco e o usuário fecha o ERP pelo gerenciador de tarefas do Windows ou mesmo ocorre uma queda de energia no meio de um processo, no Pervasive/Btrieve estes arquivos que estavam abertos na tarefa ficam presos e as vezes em modo de escrita impedindo que este mesmo usuário ou outro altere aquele registro/campo até que alguém abra o gerenciado do banco e derrube aquele usuário ou reinicie os serviços do Pervasive.

Seria bom por exemplo, se houvesse uma finalização das conexão daquele usuário/maquina com Pervasive ao iniciar o ERP ou algo assim... sentimos a falta desta finalização automática por parte do Pervasive.


Obrigado pelo retorno.

Em 15/06/2022 07:47, Eric Anuleiz escreveu:
Carlos, bom dia,

    No meu ERP fizemos um controle de sessão do usuário logado, e com o ID da sessão fazemos controle de acesso.
    Caso no login, detectamos que tem alguma outra sessão para o mesmo usuário, avisamos que já existe um usuário logado com o mesmo nome e caso entre o outro será derrubado, o ele clica em sim, gravamos na tabela de sessão do mesmo user e com ID diferente do atual que é para fazer logoff, ai tenho um timer que corre no main a cada 2 minutos verificando as sessões que devemos fazer o logoff, e caso seja da máquina que está com a sessão aberta executamos um Application Exit...
    Não vou dizer que funciona 100% pois as vezes ainda tem situação que ficam lá, mas com esse mecanismo todo resolvemos uns 95% ou mais dos casos.
    Coloquei mais aqui como fazemos pois as vezes abre uma ideia para vc ai.

Abraços,

Eric

Em qua., 15 de jun. de 2022 às 07:33, Carlos Mollero via groups.io <carlosmollero=yahoo.com.br@groups.io> escreveu:
Bom dia,

Só para complementar a ideia...

Em algumas tarefas armazenamos uma sequencia por exemplo "sequencia_requisicao", então quando o usuário grava uma nova requisição é chamado uma tarefa que atualiza esta sequencia em um arquivo parâmetro e devido algum problema esta tarefa trava/travou/demorou mais que normal, aí o usuário finaliza tudo erroneamente, isso faz com que o arquivo/registro fique preso não deixando ser alterado retornando a "linha locada".

Então vendo os logs, também percebi que em determinadas máquinas da rede estão abrindo o programa várias vezes, também podendo gerar "linha locada", por isso estava procurando uma saída.


Obrigado.

Em 14/06/2022 18:14, Carlos Mollero via groups.io escreveu:
Boa tarde Alencar,

Legal a ideia, más acredito que possa ter problemas mesmo neste sentido.

Estou tentando criar isso já para solucionar alguns problemas de "Linha locada" em tabelas Pervasive/Btrieve.


Obrigado.

Em 14/06/2022 17:43, Alencar Philereno escreveu:
Acredito que o recurso natural do xpa não deva ter.
O que tu pode fazer é um controle no braço. Já fiz algo semelhante no Magic 5.7.
Ao abrir a aplicação, gera um controle. Ao fechar a aplicação, apaga este controle.
Se, ao abrir, o controle já existe, avisa que já existe instância aberta e encerra a aplicação.

O problema disso é algum possível fechamento forçado, por exemplo, queda de luz e tal.
Daí o controle vai ficar aberto. Eu tive problemas com isso.

Alencar
--------------------------------------------------------------
Jose Alencar Philereno
Bacharel em Sistemas de Informacao
Fit - Faccat    Taquara/RS  2009
Twitter: https://twitter.com/APhilereno
Facebook: https://www.facebook.com/philereno

"A sabedoria de um ser humano não está no quanto ele sabe,
mas no quanto ele tem consciência de que não sabe.
Você tem esta consciência?"
O futuro da Humanidade. - Augusto Cury



Em ter., 14 de jun. de 2022 às 17:32, Carlos Mollero via groups.io <carlosmollero=yahoo.com.br@groups.io> escreveu:
Boa tarde,

Gostaria de saber se existe algum recurso/função para evitar que uma
aplicação Magic/uniPaaS seja aberta mais de uma vez na mesma máquina.


Desde já agradeço,

Obrigado.

--
Carlos Mollero.


--
Este email foi escaneado pelo Avast antivírus.
https://www.avast.com/antivirus







-- 
Carlos Mollero.

Livre de vírus. www.avast.com.

-- 
Carlos Mollero.

-- 
Carlos Mollero.


Carlos Mollero
 

Eric,

Há... e por conta deste problema de ficar arquivos travados no Pervasive/Btrieve acabei notando também que em alguns casos o usuário/máquina esta com vários "uniRTE.exe" aberto que também pode gerar erro de "linha alocada" no acesso a dados.


Obrigado.

Em 15/06/2022 08:05, Carlos Mollero via groups.io escreveu:
Bom dia Eric,

Então, não sei se estamos falando do mesmo DBMS, o problema esta com Pervasive/Btrieve... por exemplo, se uma tarefa qualquer demora um pouco e o usuário fecha o ERP pelo gerenciador de tarefas do Windows ou mesmo ocorre uma queda de energia no meio de um processo, no Pervasive/Btrieve estes arquivos que estavam abertos na tarefa ficam presos e as vezes em modo de escrita impedindo que este mesmo usuário ou outro altere aquele registro/campo até que alguém abra o gerenciado do banco e derrube aquele usuário ou reinicie os serviços do Pervasive.

Seria bom por exemplo, se houvesse uma finalização das conexão daquele usuário/maquina com Pervasive ao iniciar o ERP ou algo assim... sentimos a falta desta finalização automática por parte do Pervasive.


Obrigado pelo retorno.

Em 15/06/2022 07:47, Eric Anuleiz escreveu:
Carlos, bom dia,

    No meu ERP fizemos um controle de sessão do usuário logado, e com o ID da sessão fazemos controle de acesso.
    Caso no login, detectamos que tem alguma outra sessão para o mesmo usuário, avisamos que já existe um usuário logado com o mesmo nome e caso entre o outro será derrubado, o ele clica em sim, gravamos na tabela de sessão do mesmo user e com ID diferente do atual que é para fazer logoff, ai tenho um timer que corre no main a cada 2 minutos verificando as sessões que devemos fazer o logoff, e caso seja da máquina que está com a sessão aberta executamos um Application Exit...
    Não vou dizer que funciona 100% pois as vezes ainda tem situação que ficam lá, mas com esse mecanismo todo resolvemos uns 95% ou mais dos casos.
    Coloquei mais aqui como fazemos pois as vezes abre uma ideia para vc ai.

Abraços,

Eric

Em qua., 15 de jun. de 2022 às 07:33, Carlos Mollero via groups.io <carlosmollero=yahoo.com.br@groups.io> escreveu:
Bom dia,

Só para complementar a ideia...

Em algumas tarefas armazenamos uma sequencia por exemplo "sequencia_requisicao", então quando o usuário grava uma nova requisição é chamado uma tarefa que atualiza esta sequencia em um arquivo parâmetro e devido algum problema esta tarefa trava/travou/demorou mais que normal, aí o usuário finaliza tudo erroneamente, isso faz com que o arquivo/registro fique preso não deixando ser alterado retornando a "linha locada".

Então vendo os logs, também percebi que em determinadas máquinas da rede estão abrindo o programa várias vezes, também podendo gerar "linha locada", por isso estava procurando uma saída.


Obrigado.

Em 14/06/2022 18:14, Carlos Mollero via groups.io escreveu:
Boa tarde Alencar,

Legal a ideia, más acredito que possa ter problemas mesmo neste sentido.

Estou tentando criar isso já para solucionar alguns problemas de "Linha locada" em tabelas Pervasive/Btrieve.


Obrigado.

Em 14/06/2022 17:43, Alencar Philereno escreveu:
Acredito que o recurso natural do xpa não deva ter.
O que tu pode fazer é um controle no braço. Já fiz algo semelhante no Magic 5.7.
Ao abrir a aplicação, gera um controle. Ao fechar a aplicação, apaga este controle.
Se, ao abrir, o controle já existe, avisa que já existe instância aberta e encerra a aplicação.

O problema disso é algum possível fechamento forçado, por exemplo, queda de luz e tal.
Daí o controle vai ficar aberto. Eu tive problemas com isso.

Alencar
--------------------------------------------------------------
Jose Alencar Philereno
Bacharel em Sistemas de Informacao
Fit - Faccat    Taquara/RS  2009
Twitter: https://twitter.com/APhilereno
Facebook: https://www.facebook.com/philereno

"A sabedoria de um ser humano não está no quanto ele sabe,
mas no quanto ele tem consciência de que não sabe.
Você tem esta consciência?"
O futuro da Humanidade. - Augusto Cury



Em ter., 14 de jun. de 2022 às 17:32, Carlos Mollero via groups.io <carlosmollero=yahoo.com.br@groups.io> escreveu:
Boa tarde,

Gostaria de saber se existe algum recurso/função para evitar que uma
aplicação Magic/uniPaaS seja aberta mais de uma vez na mesma máquina.


Desde já agradeço,

Obrigado.

--
Carlos Mollero.


--
Este email foi escaneado pelo Avast antivírus.
https://www.avast.com/antivirus







-- 
Carlos Mollero.

Livre de vírus. www.avast.com.

-- 
Carlos Mollero.

-- 
Carlos Mollero.

-- 
Carlos Mollero.


Eric Anuleiz
 

Carlos,
    Isso que fiz resolveu os vários quase todos os casos de uniRTE abertos, pois ele estando aberto o timer do main corre, mas não o lock qdo não tem mais uniRTE aberto e mesmo assim trava sessão no pervasive, isso para mim é um grande problema ainda.

Abraços

Em qua., 15 de jun. de 2022 às 08:09, Carlos Mollero via groups.io <carlosmollero=yahoo.com.br@groups.io> escreveu:

Eric,

Há... e por conta deste problema de ficar arquivos travados no Pervasive/Btrieve acabei notando também que em alguns casos o usuário/máquina esta com vários "uniRTE.exe" aberto que também pode gerar erro de "linha alocada" no acesso a dados.


Obrigado.

Em 15/06/2022 08:05, Carlos Mollero via groups.io escreveu:
Bom dia Eric,

Então, não sei se estamos falando do mesmo DBMS, o problema esta com Pervasive/Btrieve... por exemplo, se uma tarefa qualquer demora um pouco e o usuário fecha o ERP pelo gerenciador de tarefas do Windows ou mesmo ocorre uma queda de energia no meio de um processo, no Pervasive/Btrieve estes arquivos que estavam abertos na tarefa ficam presos e as vezes em modo de escrita impedindo que este mesmo usuário ou outro altere aquele registro/campo até que alguém abra o gerenciado do banco e derrube aquele usuário ou reinicie os serviços do Pervasive.

Seria bom por exemplo, se houvesse uma finalização das conexão daquele usuário/maquina com Pervasive ao iniciar o ERP ou algo assim... sentimos a falta desta finalização automática por parte do Pervasive.


Obrigado pelo retorno.

Em 15/06/2022 07:47, Eric Anuleiz escreveu:
Carlos, bom dia,

    No meu ERP fizemos um controle de sessão do usuário logado, e com o ID da sessão fazemos controle de acesso.
    Caso no login, detectamos que tem alguma outra sessão para o mesmo usuário, avisamos que já existe um usuário logado com o mesmo nome e caso entre o outro será derrubado, o ele clica em sim, gravamos na tabela de sessão do mesmo user e com ID diferente do atual que é para fazer logoff, ai tenho um timer que corre no main a cada 2 minutos verificando as sessões que devemos fazer o logoff, e caso seja da máquina que está com a sessão aberta executamos um Application Exit...
    Não vou dizer que funciona 100% pois as vezes ainda tem situação que ficam lá, mas com esse mecanismo todo resolvemos uns 95% ou mais dos casos.
    Coloquei mais aqui como fazemos pois as vezes abre uma ideia para vc ai.

Abraços,

Eric

Em qua., 15 de jun. de 2022 às 07:33, Carlos Mollero via groups.io <carlosmollero=yahoo.com.br@groups.io> escreveu:
Bom dia,

Só para complementar a ideia...

Em algumas tarefas armazenamos uma sequencia por exemplo "sequencia_requisicao", então quando o usuário grava uma nova requisição é chamado uma tarefa que atualiza esta sequencia em um arquivo parâmetro e devido algum problema esta tarefa trava/travou/demorou mais que normal, aí o usuário finaliza tudo erroneamente, isso faz com que o arquivo/registro fique preso não deixando ser alterado retornando a "linha locada".

Então vendo os logs, também percebi que em determinadas máquinas da rede estão abrindo o programa várias vezes, também podendo gerar "linha locada", por isso estava procurando uma saída.


Obrigado.

Em 14/06/2022 18:14, Carlos Mollero via groups.io escreveu:
Boa tarde Alencar,

Legal a ideia, más acredito que possa ter problemas mesmo neste sentido.

Estou tentando criar isso já para solucionar alguns problemas de "Linha locada" em tabelas Pervasive/Btrieve.


Obrigado.

Em 14/06/2022 17:43, Alencar Philereno escreveu:
Acredito que o recurso natural do xpa não deva ter.
O que tu pode fazer é um controle no braço. Já fiz algo semelhante no Magic 5.7.
Ao abrir a aplicação, gera um controle. Ao fechar a aplicação, apaga este controle.
Se, ao abrir, o controle já existe, avisa que já existe instância aberta e encerra a aplicação.

O problema disso é algum possível fechamento forçado, por exemplo, queda de luz e tal.
Daí o controle vai ficar aberto. Eu tive problemas com isso.

Alencar
--------------------------------------------------------------
Jose Alencar Philereno
Bacharel em Sistemas de Informacao
Fit - Faccat    Taquara/RS  2009
Twitter: https://twitter.com/APhilereno
Facebook: https://www.facebook.com/philereno

"A sabedoria de um ser humano não está no quanto ele sabe,
mas no quanto ele tem consciência de que não sabe.
Você tem esta consciência?"
O futuro da Humanidade. - Augusto Cury



Em ter., 14 de jun. de 2022 às 17:32, Carlos Mollero via groups.io <carlosmollero=yahoo.com.br@groups.io> escreveu:
Boa tarde,

Gostaria de saber se existe algum recurso/função para evitar que uma
aplicação Magic/uniPaaS seja aberta mais de uma vez na mesma máquina.


Desde já agradeço,

Obrigado.

--
Carlos Mollero.


--
Este email foi escaneado pelo Avast antivírus.
https://www.avast.com/antivirus







-- 
Carlos Mollero.

Livre de vírus. www.avast.com.

-- 
Carlos Mollero.

-- 
Carlos Mollero.

-- 
Carlos Mollero.