Adicionar unit ao projeto em Run Time
16/05/2008
0
Como faço para adicionar uma unit, a partir de um endereço armazenado num edit em run time e como pegar o nome do Form desta unit?
Att
Dalton
Dbergkamps10
Posts
23/05/2008
Dbergkamps10
Será que é impossível????
Se puderem indicar algum material ficarei grato.
Obrigado.
Att
Dalton
23/05/2008
Emerson Nascimento
você pode utilizar um interpretador de scripts pra algo bem específico, mas creio não ser possível fazer exatamente como você quer, pois seria necessário compilar a unit...
24/05/2008
Dbergkamps10
Prezado Emerson,
Obrigado pela força. Eu só quero adicionar a unit a um projeto especifico, mas nao quero compilar. vai ser assim: escolho o .dpr e depois escolho a unit a ser adicionado a este dpr, mas nao vou compilar.
Se puder dar mais uma forcinha agradeço.
Att
Dalton
28/05/2008
Brunodsr
//Procedure para carregar modulos em runtime procedure TFormPrincipal.CarregaFormDe(const NomeDaDLL: String); type TMetodoDeNotificacao = procedure of object; TFuncaoDeForm = function(Owner: TComponent; MetodoDeNotificacao: TMetodoDeNotificacao): TForm; var CriaForm: TFuncaoDeForm; begin LiberaForm; FIdentificador := LoadLibrary(PChar(NomeDaDLL)); if FIdentificador = 0 then begin ExibeErro(´Não foi possível carregar o arquivo "´ + NomeDaDLL + ´"!´); Exit; end; // if try @CriaForm := GetProcAddress(FIdentificador, ´CriaForm´); if @CriaForm = nil then begin ExibeErro(´Não foi possível encontrar a função "CriaForm" no arquivo "´ + NomeDaDLL + ´"!´); Abort; end; // if FForm := CriaForm(Application, AcionaTimerDeLiberacao); FForm.ShowModal; except FreeLibrary(FIdentificador); FIdentificador := 0; end; // try-except end; //Usando a procedure procedure TFormPrincipal.ButtonExibirClick(Sender: TObject); begin ExibeInformacao(´Carregando o módulo, criando o form e exibindo-o...´); CarregaFormDe(´ModuloTeste.dll´); ExibeInformacao(´Tudo ok.´); end;
Espero ter ajudado. Caso sinta dúvidas, me da um toque e eu te passo os fontes com um exemplo ok?
28/05/2008
Emerson Nascimento
o que você quer é manipular o ´texto´ do dpr? incluir os units como se fosse o Delphi incluindo, editando o arquivo dpr?
28/05/2008
Dbergkamps10
Exatamente isso amigo emerson. Como faço pra conseguir isso?
Att
Dalton
31/05/2008
Mazzi
31/05/2008
Dbergkamps10
Mazzi obrigado pela força.
O q eu quer fazer eh o seguinte: tenho um exe rodando. Nele, tenho a opção de escolher um arquivo dpr. Tambem tenho a opção de adicionar os arquivos *.pas que faram parte desse dpr. O que eu quero eh codigo pra adicionar o *.pas ao dpr em run time.
Att
Dalton
Clique aqui para fazer login e interagir na Comunidade :)