Duvida - Atualização de Sistema modularizado em BPL??
Olá boa tarde a todos.
Estou pesquisando sobre modularizar usando BPL, e fiquei com uma duvida:
[b:2a4a696eae]Situação:[/b:2a4a696eae]
Estando um aplicativo composto por 1 executavel e 2 blp´s, rodando no servidor, é possivel atualizar as bpl´s mesmo que 1 ou mais usuarios estejam acessando esse aplicativo e uma ou outra blp, sem a necessidade de que os mesmos saiam do aplicativo ou fechem o form da tal bpl em uso?
Isso seria bom, pois disponilizaria meios para poder efetuar atualizações automaticas.
:arrow:
Alexandre Macário
Estou pesquisando sobre modularizar usando BPL, e fiquei com uma duvida:
[b:2a4a696eae]Situação:[/b:2a4a696eae]
Estando um aplicativo composto por 1 executavel e 2 blp´s, rodando no servidor, é possivel atualizar as bpl´s mesmo que 1 ou mais usuarios estejam acessando esse aplicativo e uma ou outra blp, sem a necessidade de que os mesmos saiam do aplicativo ou fechem o form da tal bpl em uso?
Isso seria bom, pois disponilizaria meios para poder efetuar atualizações automaticas.
:arrow:
Alexandre Macário
Macario
Curtidas 0
Respostas
Macario
03/02/2006
Up :arrow:
GOSTEI 0
Massuda
03/02/2006
...é possivel atualizar as bpl´s mesmo que 1 ou mais usuarios estejam acessando esse aplicativo e uma ou outra blp, sem a necessidade de que os mesmos saiam do aplicativo ou fechem o form da tal bpl em uso?
Como um BPL é uma DLL melhorada, a não ser que ninguém tenha carregado o BPL, provavelmente todos terão que sair do programa. Aliás, não existe nenhuma forma de atualizar um executável que esteja em uso por alguém.GOSTEI 0
Macario
03/02/2006
Olá bom dia.
Pensei que utilizando a modulizarição por BPL, a mesma permitiria atualizações independentes.
Tipo:
Entrei no [b:54999ee05f]exe[/b:54999ee05f], nesse exe tenho 2 form, entro no form1. Ai digamos que esse form1 precisa ser atualizado. Se eu fechar ele ´eu teoricamente´ imagino que a [b:54999ee05f]BPL[/b:54999ee05f] deveria ser liberada não é? Ai então eu poderia substitui-la.
:arrow:
Pensei que utilizando a modulizarição por BPL, a mesma permitiria atualizações independentes.
Tipo:
Entrei no [b:54999ee05f]exe[/b:54999ee05f], nesse exe tenho 2 form, entro no form1. Ai digamos que esse form1 precisa ser atualizado. Se eu fechar ele ´eu teoricamente´ imagino que a [b:54999ee05f]BPL[/b:54999ee05f] deveria ser liberada não é? Ai então eu poderia substitui-la.
:arrow:
GOSTEI 0
Massuda
03/02/2006
Entrei no [b:c6824954e8]exe[/b:c6824954e8], nesse exe tenho 2 form, entro no form1. Ai digamos que esse form1 precisa ser atualizado. Se eu fechar ele ´eu teoricamente´ imagino que a [b:c6824954e8]BPL[/b:c6824954e8] deveria ser liberada não é? Ai então eu poderia substitui-la.
Sim, desde que seu programa descarreque o BPL via UnloadPackage e ninguém mais esteja usando a BPL. Entretanto, o efeito não será imediato... o Windows ´segura´ ainda por alguns segundos (menos de 1 minuto, acho) o BPL.GOSTEI 0
Macario
03/02/2006
Putz. :?
Nesse caso eu teria que trabalhar com toda a aplicação disponivel por usuário, ao invez de centralizar no servidor.
seria algo com
Um detalhe, quando entro no exe, e ja tento alterar a BPL, ele ja esta barrando, dizendo que esta em uso, sendo que não fiz a chamada ainda.
Nesse caso eu teria que trabalhar com toda a aplicação disponivel por usuário, ao invez de centralizar no servidor.
seria algo com
var lib: HMODULE; begin lib:= LoadPackage(´Teste_form_2.bpl´); try frm2 := Tfrm2.Create(nil); try frm2.ShowModal; finally FreeAndNil(frm2); end; finally UnloadPackage(lib); end;
Um detalhe, quando entro no exe, e ja tento alterar a BPL, ele ja esta barrando, dizendo que esta em uso, sendo que não fiz a chamada ainda.
GOSTEI 0