Como usar uma função q está dentro de um módulo .bpl?
Galera em um módulo .bpl q criei, existe um form q possui uma função declarada na seção public chamada Mostra(PSqlconexao:TSqlconnection);
A questão é a seguinte na hora q eu chamar o formulário q está dentro do módulo, ao invés de chamá-lo pelo Show ou Showmodal, eu preciso passar o parâmetro Psqlconexao, para poder ligar os componentes de acesso à dados contidos neste form. Como posso fazer isto?
Obrigado
A questão é a seguinte na hora q eu chamar o formulário q está dentro do módulo, ao invés de chamá-lo pelo Show ou Showmodal, eu preciso passar o parâmetro Psqlconexao, para poder ligar os componentes de acesso à dados contidos neste form. Como posso fazer isto?
Obrigado
Aledeol
Curtidas 0
Respostas
Aledeol
27/11/2003
Estou carregando o módulo dinamicamente desta maneira:
try
FFormrel.Show;
except
try
FrelModuleHandle := LoadPackage(C_DPKRELAT);
customformclass := TCustomFormClass(FindClass(C_CLASSERELAT));
FFormREL := customformclass.Create(self);
// usaria esta funcao aqui
FFormREL.Mostra(dm.conexao,´´);
// no lugar de show ou showmodal
except
on EPackageError do
begin
MessageDlg(´Package ´ + C_DPKRELAT + ´ não foi encontrado!´ + #1310 +
´Funcionalidade não disponível´, mtError, [mbOk],0);
end;
on e:exception do
begin
MessageDlg(´Não foi possível abrir o cadastro!´ + 1310 +
´Erro: (´+e.ClassName+´) ´ + e.Message,mtError,[mbok],0);
end;
end;
end;
try
FFormrel.Show;
except
try
FrelModuleHandle := LoadPackage(C_DPKRELAT);
customformclass := TCustomFormClass(FindClass(C_CLASSERELAT));
FFormREL := customformclass.Create(self);
// usaria esta funcao aqui
FFormREL.Mostra(dm.conexao,´´);
// no lugar de show ou showmodal
except
on EPackageError do
begin
MessageDlg(´Package ´ + C_DPKRELAT + ´ não foi encontrado!´ + #1310 +
´Funcionalidade não disponível´, mtError, [mbOk],0);
end;
on e:exception do
begin
MessageDlg(´Não foi possível abrir o cadastro!´ + 1310 +
´Erro: (´+e.ClassName+´) ´ + e.Message,mtError,[mbok],0);
end;
end;
end;
GOSTEI 0
Beppe
27/11/2003
O Delphi usa name mangling nas .bpl´s, então você não carrega elas dinâmicamente, pois é difícil obter o endereço das funções.
Você faz assim:
1) Acrescente o diretório onde se encontra a .dcp correspondente na Library Path em Environment Options;
2) Nas opções do projeto acrescente sua .bpl em compile with packages;
3) Na unit em que você quer usar o form, adicione a unit que o contém ao uses.
4) Então chame a procedure como se ela esivesse numa unit do seu projeto mesmo.
Você faz assim:
1) Acrescente o diretório onde se encontra a .dcp correspondente na Library Path em Environment Options;
2) Nas opções do projeto acrescente sua .bpl em compile with packages;
3) Na unit em que você quer usar o form, adicione a unit que o contém ao uses.
4) Então chame a procedure como se ela esivesse numa unit do seu projeto mesmo.
GOSTEI 0