Fórum Form em DLL #329279
13/09/2006
0
só que não sei o tipo correto de criar esses forms peguei algumas dicas mais não me serviram 100¬ tipo essa:
dentro da DLL:
no sistema:
Grato se alguém me der uma força
thanks
Marcos Fernando
Curtir tópico
+ 0Posts
13/09/2006
Fabiano Góes
seguinte, imagine um Modulo de Clientes onde o arquivo de projeto seria assim:
program ModuloClientes;
uses
Forms,
unFrmClientes in ´unFrmClientes.pas´ ;
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TfrmClientes, frmClientes);
Application.Run;
end.
para colocar este módulo em uma dll, altere-o assim:
library ModuloClientes;
uses
SysUtils,
Classes,
Forms,
unFrmClientes in ´unFrmClientes.pas´ ;
{$R *.res}
procedure Iniciar; stdcall;
begin
with TfrmClientes.Create(Application) do
try
ShowModal;
finally
Release;
Free;
end;
end;
exports
Iniciar;
begin
end.
ao compilar este projeto(library) será gerado a seguinte dll: ModuloClientes.dll
então crie um método para chamar esta dll:
procedure AbreModuloDLL(FileName: TFileName); var DLL: THandle; Iniciar: procedure; stdcall; begin DLL := LoadLibrary(PChar(FileName)); if (DLL = 0) then RaiseLastOSError; try @Iniciar := GetProcAddress(DLL, ´Iniciar´); if (@Iniciar = nil) then RaiseLastOSError; Iniciar; finally FreeLibrary(DLL); end; end;
para fazer a chamada faça assim:
AbreModuloDLL(´ModuloClientes.dll´);
agpra e só fazer um teste.
Bom espero ter ajudado, quaquer duvida é só postar ok.
abraço !!!
Gostei + 0
14/09/2006
Marcos Fernando
Sabe me informar como corrigir isso?
Thanks
Gostei + 0
14/09/2006
Marcos Fernando
ai na chamada é só indicar o nome assim:
só falta aquele BO do iniciar agora,
thanks
Gostei + 0
14/09/2006
Rodc
Gostei + 0
15/09/2006
Prmas
Otima explicaçãodo Fabiano Góes.
No meu caso porém, o form está ligado a funções em outros forms que estão no aplicativo ou pretendo colocar em outra dll.
Como posso chamar essas funções do aplicativo ou outra dll?
Isso é possível? Se alguém tiver a respostam por favor me ajude...
Obrigado a todos.
Marcos
Gostei + 0
26/01/2007
Mmoreira
Alguem sabe como resolver o problema do:
prmas
Estou com a mesma duvida!!
Gostei + 0
14/02/2007
Eniorm
o que vem a ser esse [b:0ce297125b]stdcall[/b:0ce297125b] e qual a finalidade do mesmo???
fiz um teste aqui e resultou que, ao fechar o form (que está na dll) é fechado o programa todo, é correto isso ???
abraço
Gostei + 0
13/06/2018
Vicente Santos
Gostei + 0
03/10/2018
Khushi
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)