Bom tarde, estou precisando de um ajudinha, atualmente uso o BLAT para envio de email através de linha de comando e funciona muito bem, só que a empresa trocou todo o servidor para uma maquina Virtualizada e nesta maquina acesso o sistema através de RadMin ou go-gobal, funciona tudo muito rápido o que ficou um pouco lento e a navegação em browse/dbedit, mais blz até ai, só que o bicho por algum motivo não deixa eu executar um arquivo em lote(.bat) de dentro do sistema, ai gostaria de usar a dll do blat para envio de email, até peguei uns código em harbour em funciona bem, só que preciso para xharbour 0.970 será que alguém teria isso feito em xharbour as declarações de uso desta dll, para me enviar fazendo um favor.
Frazato
Usar BLAT.DLL em xharbour 0.970
Moderador: Moderadores
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Usar BLAT.DLL em xharbour 0.970
Amiguinho,
Não sei se tem diferença na forma de declarar no xHarbour, mas segue um trecho onde eu declaro usando o comando próprio do Fivewin:
Veja como esta o comando na DLL.CH:
Veja que ela chama a função CallDLL32(), mas nunca pesquisei se a mesma é do Harbour ou do Fivewin. Mas é ela que recebe os parâmetros. Portanto no xHarbour tem uma função semelhante chamada DLLCall().
Não sei se tem diferença na forma de declarar no xHarbour, mas segue um trecho onde eu declaro usando o comando próprio do Fivewin:
Código: Selecionar todos
DLL32 FUNCTION SendB( sBlatString AS STRING ) AS LONG PASCAL ;
FROM "SendBlat" LIB "Blat.dll"
DLL32 FUNCTION BlatSend( BlatCMD AS STRING ) AS LONG PASCAL;
FROM "Send" LIB "Blat.dll"
Código: Selecionar todos
#xcommand DLL32 [<static:STATIC>] FUNCTION <FuncName>( [ <uParam1> AS <type1> ] ;
[, <uParamN> AS <typeN> ] ) ;
AS <return> [<pascal:PASCAL>] [ FROM <SymName> ] LIB <*DllName*> ;
=> ;
[<static>] function <FuncName>( [NOREF(<uParam1>)] [,NOREF(<uParamN>)] ) ;;
local hDLL := If( ValType( <DllName> ) == "N", <DllName>, LoadLib32( <(DllName)> ) ) ;;
local uResult ;;
local cFarProc ;;
if Abs( hDLL ) <= 32 ;;
MsgAlert( "Error code: " + LTrim( Str( hDLL ) ) + " loading " + <DllName> ) ;;
else ;;
cFarProc = GetProc32( hDLL,;
If( [ Empty( <SymName> ) == ] .t., <(FuncName)>, <SymName> ),;
[<.pascal.>], <return> [,<type1>] [,<typeN>] ) ;;
uResult = CallDLL32( cFarProc [,<uParam1>] [,<uParamN>] ) ;;
If( ValType( <DllName> ) == "N",, FreeLib32( hDLL ) ) ;;
end ;;
return uResult
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
