como devo fazer para meu projeto e multicamada transformalo em bpl
ola
tudo bem
eu tenho um sistemas multicamada
e gostaria de transforma-lo e bpl
sera que vc poderia me orientar ja peguei alguns videos
mas nao estou conseguindo gerar correta e como fazer no caso de manutencao
obrigado
Jorge Barbosa
Curtidas 0
Respostas
Rodrigo Mourão
27/01/2010
Olá Jorge,
Bem em uma app MultiCamadas vc terá dois exe, o cliente e o servidor. Neste cenário os dois podem ser compilados com pacotes em RunTime. DE um forma geral bastaria que vc fosse em Project->Options e na opção Packages marcar a opção Build with RunTime Packages.
Com isso o tamanho do seus executávies já vai diminuir. Porem qualquer alteração no programa teria que mandar todo o executável.
Agora talvez voce queria ir além, queira colocar alguns forms num pacote, classes em outros pacotes e por ai vai. Ai a coisa fica um pouco mais complicada para implementar vc terá que criar projetos de pacotes e adicionar as telas nesse novo projeto de pois usar esse pacote na aplicação principal.
Pois bem, existe um vídeo de minha altoria que eu mostro exatamente isso. PArtindo de uma app pronto eu crio um pacote e adiciono esse pacote na app principal.
https://www.devmedia.com.br/articles/viewcomp.asp?comp=12460
https://www.devmedia.com.br/articles/viewcomp.asp?comp=12611
Caso não tenha acesso as vídeos nos informe para que possamos liberá-lo.
Att,
GOSTEI 0
Jorge Barbosa
27/01/2010
sim eu vou pegar o seu video e vou tentar fazer e te retorno casa tenha algum erro de
ante mao e para fazer manuntencao nas tela
como eu faria
o datamodulo carrego no pacote ou na deixa no exe
GOSTEI 0
Jorge Barbosa
27/01/2010
sim eu vou pegar o seu video e vou tentar fazer e te retorno casa tenha algum erro de
ante mao e para fazer manuntencao nas tela
como eu faria
o datamodulo carrego no pacote ou na deixa no exe
GOSTEI 0
Jorge Barbosa
27/01/2010
sim eu vou pegar o seu video e vou tentar fazer e te retorno casa tenha algum erro de
ante mao e para fazer manuntencao nas tela
como eu faria
o datamodulo carrego no pacote ou na deixa no exe
GOSTEI 0
Jorge Barbosa
27/01/2010
sim eu vou pegar o seu video e vou tentar fazer e te retorno casa tenha algum erro de
ante mao e para fazer manuntencao nas tela
como eu faria
o datamodulo carrego no pacote ou na deixa no exe
GOSTEI 0
Rodrigo Mourão
27/01/2010
Isso vai depender da Freqüência com que vc altera os componentes do data module, mas independente disso por questões de organização eu colocaria num pacote separado.
Att,
GOSTEI 0
Jorge Barbosa
27/01/2010
assisti a video aula e estou tentando fazer mas esta me dando este erro como chamo o programa
A CLASS NAMED TCHARTAXIStitle already exists
este e meu codigo que estou chamando o programa de modo dinamico
var
H: HMODULE;
PForm : TFormClass;
Form : TForm;
begin
if FileExists('menubpl.bpl') then
begin
H := LoadPackage('menubpl.bpl');
if H > 0 then
begin
PForm :=TFormClass(GetClass('Tlogin'));
if Assigned(PForm) then
begin
Form :=PForm.Create(nil);
Form.ShowModal;
FreeAndNil(Form);
UnloadPackage(H);
end
else
ShowMessage('Erro de ao Carregar Classe !!!');
end
else
ShowMessage('Erro de Abertura do Pacote !!!');
end
else
begin
MessageDlg('Formulario Invalido chama SCANNER INFORMATICA !!!',mtWarning,[mbOK],0);
end; se puder me ajudar obrigado
H: HMODULE;
PForm : TFormClass;
Form : TForm;
begin
if FileExists('menubpl.bpl') then
begin
H := LoadPackage('menubpl.bpl');
if H > 0 then
begin
PForm :=TFormClass(GetClass('Tlogin'));
if Assigned(PForm) then
begin
Form :=PForm.Create(nil);
Form.ShowModal;
FreeAndNil(Form);
UnloadPackage(H);
end
else
ShowMessage('Erro de ao Carregar Classe !!!');
end
else
ShowMessage('Erro de Abertura do Pacote !!!');
end
else
begin
MessageDlg('Formulario Invalido chama SCANNER INFORMATICA !!!',mtWarning,[mbOK],0);
end; se puder me ajudar obrigado
GOSTEI 0
Rodrigo Mourão
27/01/2010
Este erro ocorre sempre que tentamos registrar duas classes com mesmo nome. VErifique em sues pacotes se em dois deles vc nao tem a mesma classe.
Se deseja poderá me enviar os fontes via DiscoVirtual para eu depurar e lhe ajudar.
Att,
GOSTEI 0
Jorge Barbosa
27/01/2010
so para eu poder enteder melhor quando vc fala em classe e mesmo coisa que form
so tenho um form no meu bpl sera que tenho que chamar com modo estatico
me da uma luz obrigado
GOSTEI 0
Rodrigo Mourão
27/01/2010
Olá Amigo,
Desculpe a demora em responder. Sim um form também e uma classe.
Tente chamar de como estático para ver se o erro persiste.
No aguardo !!!
GOSTEI 0
Jorge Barbosa
27/01/2010
eu chamei como estatico e funcionou
mas eu queria sabe a melhora maneira de trabalhar nao e
dinaminco ou nao tem nada ver
porque a ideia de o usuario esta usuando o sistema e vc nao
prescisar que ele para e otima e para mim seria
uma mao na roda
tem outra maneira de chamar dinamico que nao de este erro
obrigado
GOSTEI 0
Rodrigo Mourão
27/01/2010
Olá Jorge,
Bem na verdade este tipo de erro nao ocorre por ser dinamico, mas por ser dinamico e que ocorre o erro. rsrsrsrs Eu vou explicar.
Trabalhar com pacotes dinamocos implica em instanciar objetos via Sistema operacional pois temos que registrar a classe e usar o FindWindow (API do Windows) para buscar a classe e instanciar.Para funcionar temos que organizar muito bem nosso projeto.
É claro que pacote dinamico te da mais liberdade, mas o custo so vale a pena em coisas que mudam muito, exemplo vc tem um rotina numa classe que muda a regra toda hora, entao e muito provavel que tenha que atualizar durante o exediente, mas nao se engano pois mesmo dinamico os itens do pacotem nao podem estar sendo usados.
O pacote estatico ja facilita pois vc pode atualizar somente o pacote que necessita.
Agora para resolver seu problema eu teria que analisar seu projeto, depurar para ver o que esta acontecendo ou voce manter como estatico. A decisao e sua. Se desejar envio os fontes via Disco Virtual para que eu possa analisar.
Att,
GOSTEI 0
Jorge Barbosa
27/01/2010
entao o melhor a fazer e dividir bem os mes pacotes sendo que estatico funciona da mesma maneira
o melhor seria dividir bem os projetos para na da conflito na hora da atualizacao
certo
GOSTEI 0
Rodrigo Mourão
27/01/2010
Perfeito,
Eu costume dizer com meus alunos que trabalhar com pacotes implica em criar outro projeto onde apenas nos preocuparíamos com a iteração entre eles. Para quem gosta uma opção seria trabalhar com o diagrama de componentes ou colaboração (não me lembro pois sou péssimo em UML) da UML.
Se puder ajudar em algo mais e só falar.
Att,
GOSTEI 0
Rodrigo Mourão
27/01/2010
Olá Amigo,
Podemos ajudar em algo mais ? Estamos aguardando para encerrar o chamado.
Att,
GOSTEI 0
Jorge Barbosa
27/01/2010
SIM PODEMOS ENCERRA
GOSTEI 0