 |
ActiveDelphi .: O site do programador Delphi! :.
|
| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
jedi_pereira Novato

Registrado: Segunda-Feira, 27 de Abril de 2009 Mensagens: 12
|
Enviada: Sex Mai 08, 2009 11:20 am Assunto: BPL Delphi7 [RESOLVIDO] |
|
|
olá a todos,
estou com problema usando BPL.
tenho um Geral.BPL que me carrega alguns forms, entre eles o frmPropriedades.
e cada dispositivo que acrescento na arvore do meu programa tem sua BPL (ex: dispositivo X -> x.bpl). Quando clico no dispositivo X na arvore, o frmPropriedades da geral deve ser destruido e o frmPropriedades do X deve ser criado no lugar, mas o programa da erro, falando que frmPropriedades já existe, claro. E mudar o nome pra frmPropriedadesX, funciona, porém, se tiver 100 dispositivos, precisarei de 100 metodos para abrir frmPropriedades.
estou usando freeandnil(frmPropriedades), mas msm assim, da erro no final da criação do novo pacote.
alguem me salva ai hehehe
Editado pela última vez por jedi_pereira em Ter Mai 12, 2009 10:53 am, num total de 1 vez |
|
| Voltar ao Topo |
|
 |
AnOnImUs.Info Colaborador


Registrado: Quinta-Feira, 23 de Agosto de 2007 Mensagens: 1119 Localização: Goiânia - GO
|
Enviada: Sex Mai 08, 2009 5:37 pm Assunto: Re: BPL Delphi7 |
|
|
os demais forms de sua aplicação herdarao desse frmPropriedades?
porque se for voce teria de criar realmente um novo form com o nome diferente e so herdar os eventos e propriedades do frmPropriedades.
na nova bpl voce apenas adicionaria a referencia de onde ele iria herdar o form... incluindo no requires a DCP do frmPropriedades
se voce colocar dois frmPropriedades em bpls diferentes ele realmente ira acusar que ja existe, pois ele tentara abrir duas vezes o mesmo form.
bom... pelo menos foi isso que eu entendi. _________________ Reter o conhecimento é promover a ignorância ! |
|
| Voltar ao Topo |
|
 |
jedi_pereira Novato

Registrado: Segunda-Feira, 27 de Abril de 2009 Mensagens: 12
|
Enviada: Ter Mai 12, 2009 9:45 am Assunto: |
|
|
solução que encontrei (Pacote: HModule):
procedure TfrmMain.CriaPacote2(s: string);
var
sFile: string;
begin
sFile := 'E:\Projetos\Net Config\BPL e XML\'+ s +'.bpl';
if FileExists(sFile) then
begin
Pacote := LoadPackage(sFile);
end;
end;
procedure TfrmMain.AbrirFormPropriedades;
var
APersistentClass: TPersistentClass;
begin
APersistentClass := GetClass('TfrmPropriedades');
if APersistentClass = nil then
begin
ShowMessage('FormPropriedades não localizado!');
end
else
begin
frmProp := TComponentClass(APersistentClass).Create(Application) as TForm;
frmProp.Show;
frmProp.ManualDock(pnlCentralDesign,nil,alClient);
end;
end;
procedure TfrmMain.DescarregaPacote(Module: HModule);
begin
UnRegisterModuleClasses(Module);
UnLoadPackage(Module);
end;
desculpa a demora, mas o site não gosta do meu Firefox
vlw |
|
| Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|