Fórum DLLs e componentes... como usar? #268516
14/02/2005
0
gostaria de saber como usar um componente NMSMTP e ClientSocket em uma DLL que eu construi para comunicação... bem eu tentei...
type smtp = Tnmsmtp; procedure mail(<argumentos>); export; var cliente: smtp; begin (...) end; exports mail; begin end.
o codigo de minha dll seria +/- isso mas ele diz que a variavel cliente não foi inicializada e causa uma violação de acesso...
alguem pode me ajudar??? como usar esses componentes em DLLs???
muito obrigado!
Raimundo_farias
Curtir tópico
+ 0Posts
14/02/2005
Raimundo_farias
e na hora de chamar em meu codigo:
procedure mail(<argumentos>); external ´connSrv.dll´;
isso fica num formulario de meu programa...
compilo a dll com esse exe e da o erro que mencionei acima....
Gostei + 0
15/02/2005
Marcelo Saviski
cliente := ntp.Create(...); cente.free;
ou senão, iforme o código da procedure mail para que possamos ajudar...
Gostei + 0
15/02/2005
Raimundo_farias
bem eu ñ to com o fonte em mãos agora mas pelo que me lembro...
USES (...), NMSMTP; type smtp = Tnmsmtp; procedure mail(const email:string; const nome: string; const dest:string; const assun: string; const msg: string); export; var cliente: smtp; begin try cliente.host := ´smtphost.com.br´; cliente.port := 25; cliente.userid := ´email@smtphost.com.br´; cliente.connect if cliente.connected then begin //não to lembrado do resto dos parametros para colocar os dados end; except if not cliente.connected then raise exception.create(´não foi possivel conectar! verifique sua conexao´); end; end; exports mail; begin end.
essa procedure faz parte de ´connSrv.dll´
no meu projeto eu chamo essa procedure em um form de mensagens
procedure mail(<parametros>); external ´connSrv.dll´;
ai sempre que o form é criado apresenta um erro dizendo que a variavel não teria sido inicializada...
Bom, eu não fiz isso que vc falou... mas esses ´...´ ?? :shock: quais parametros são esses que vc colocou???
clientes = smtp.create(...) ??? quais parametros são esses??? ou nao precisa?
valeu cara!!! e ja abusando de novo! :lol: onde eu encontro algo sobre ServerSocket e ClientSocket ???
Raimundo Farias
Gostei + 0
16/02/2005
Marcelo Saviski
cliente := smtp.Create; //<<<<<<<<<ADICIONADO try try cliente.host := ´smtphost.com.br´; cliente.port := 25; cliente.userid := ´email@smtphost.com.br´; cliente.connect if cliente.connected then begin //não to lembrado do resto dos parametros para colocar os dados end; except if not cliente.connected then raise exception.create(´não foi possivel conectar! verifique sua conexao´); end; finally cliente.Free; //<<<<<<<ADICIONADO end;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)