DLLs e componentes... como usar?
Ola!
gostaria de saber como usar um componente NMSMTP e ClientSocket em uma DLL que eu construi para comunicação... bem eu tentei...
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!
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
Curtidas 0
Respostas
Raimundo_farias
14/02/2005
lembrando.... esta DLL esta usando a classe NMSMTP
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....
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
Marcelo Saviski
14/02/2005
vc está criando a variavel cliente?
ou senão, iforme o código da procedure mail para que possamos ajudar...
cliente := ntp.Create(...); cente.free;
ou senão, iforme o código da procedure mail para que possamos ajudar...
GOSTEI 0
Raimundo_farias
14/02/2005
Oi cara,
bem eu ñ to com o fonte em mãos agora mas pelo que me lembro...
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
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
Marcelo Saviski
14/02/2005
Tente ver se assim funciona:
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