Fórum Sobre a Modularização #293244
26/08/2005
0
Att. Wendel Galvão.
Deltakronos
Curtir tópico
+ 0Posts
26/08/2005
Massuda
Gostei + 0
26/08/2005
Fhenrique
desde ja agradeço
Gostei + 0
26/08/2005
Technos
Gostei + 0
01/09/2005
Zumbi
Vamos nos unir e fazer um material consistente para nossos amigos programadores, não ficar muito tempo atraz da mesma coisa como eu estuo.
Vlw pessoal, e vamos compartilhar nossos conhecimentos.
Gostei + 0
02/09/2005
Titanius
um amigo de outro forum, me falou sobre o Hydra, da RemObjects, fiquei muito interessado nele, o porem, é que ele é pago, e muito caro por sinal, algo em torno de 200 Euros... :( me desanimou...
Mas isso aí, quanto mais gente discutindo melhor... agrega valores à comunidade. :wink:
[]s
Gostei + 0
02/09/2005
Wiltefran
Wiltefran Silva
Gostei + 0
02/09/2005
Titanius
Gostei + 0
05/09/2005
Titanius
Alguém tem mais alguma idéia?
Gostei + 0
10/10/2005
Zumbi
Gostei + 0
10/10/2005
Marcio.theis
http://users.tpg.com.au/vinorodr/insight/delphi/dpackage/dpackage.shtml
http://users.tpg.com.au/vinorodr/insight/delphi/advdpack/advdpack.shtml
Mas participo da discussão e no desenvolvimento de como dar uma solução para o problema...
Gostei + 0
10/10/2005
Renatacoimbra
Meu Sistema é todo dividido em BPLs, tive muito trabalho pois sou novata em Delphi, mais está funcionando, se eu poder ajudar em alguma coisa estou a disposição.
Gostei + 0
10/10/2005
Titanius
O meu problema, é com a conexão e com MDI,
Conexão:
Teria que ter algum jeito de focalizar a conexão em um único modulo, o principal, ainda não conesegui...
MDI, tem como faz uma MDI Child nos Modulos? BPL?
Se puderem me ajudar.. poutz, fico muitissimo agradecido.. :-)
[]s
Gostei + 0
10/10/2005
Renatacoimbra
vc usa alguma OO nos seus projetos ?
Uma simples herança de Forms facilita muito.
vc pode criar um BPL pai e dentro dele colocar seu DM com a conexao principal, daí é só fazer referencia a ela nas outras BPLs.
Gostei + 0
10/10/2005
Renatacoimbra
Quanto a usar MDI em BPLs é quase a mesma coisa de usar SDI, eu uso duas funções, uma pra localizar a classe Form, (no meu caso uso uma classe TFrmPadrao) e a outra para instanciar o formulário da BPL.
[color=brown:33cfcca830]1.
Esta função faz meramente uma busca nos formulários MDI criados e visíveis caso encontre, retorna uma referência a ele como TFrmPadrao.
A mesma função poderia ser usada para SDI, se a aplicação fosse SDI, poder-se-ia substituir o MDIChildCount por Screen.FormCount e MDIChildren por Screen.Forms
formulários[/color:33cfcca830]
class function InstForm.LocalizarFormularioMDI( const s : ShortString ) : TfrmPadrao; var Encontrou : TfrmPadrao; i : Byte; mf : TForm; begin mf := Application.MainForm; Encontrou := nil; if mf.MDIChildCount <> 0 then begin for i := 0 to mf.MDIChildCount - 1 do begin if UpperCase( mf.MDIChildren[i].Name ) = UpperCase( s ) then begin Encontrou := TfrmPai( mf.MDIChildren[i] ); Break; end; end; end; Result := Encontrou; end;
[color=brown:33cfcca830]Essa outra tem a função de Instanciar o form da BPL:[/color:33cfcca830]
class procedure InstForm.InstanciarFormularioMDI( const Package, NomeForm : ShortString );
var h : THandle;
f : TfrmPadrao;
CriarNovoForm : function : TfrmPadrao;
begin
// Verifica se o formulário já está na tela
f := LocalizarFormularioMDI( NomeForm );
if f <> nil then begin
// Se já estiver na tela, apenas o traz para a frente de todos
f.Show;
end else begin
// Carrega o package
h := LoadPackage( Package );
if h <> 0 then begin
{
Procura por uma função de inicialização do form. O nome foi
padronizado, como se pode observar. Fique atento a detalhes de
minúsculas e maiúsculas
}
@CriarNovoForm := GetProcAddress( h, PChar( ´CriarNovo´ + NomeForm ) );
if Assigned(CriarNovoForm) then begin
CriarNovoForm;
end;
end;
end;
end;
Em todos os formulários colocar a função:
function CriarNovofrmA : TfrmPadrao; begin CriarNovoNomeFormCriar := TNomeFormCriar.Create( Application ); end; exports CriarNovoNomeFormCriar;
[color=brown:33cfcca830]Para chamar a função instanciar form fica assim:[/color:33cfcca830]
TInstForm.InstanciarFormularioMDI( BPL, ´NomeFormDentroBPL´ );
Gostei + 0
10/10/2005
Titanius
Olá Renata,
A única coisa que mexi em OO, foi fazer meus forms de Cadastros instaciados de um único Form Basico..
Com isto vc me deixou com um outra duvida, sendo os forms herdados, ele herdaria este form de onde? do modulo principal?eu eu teria que ter o FormBasico em todos os BPL?
E uma outra questao, como vc faz com a conexao ao banco?
[]s
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)