Usar BLAT.DLL em xharbour 0.970

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

frazato
Usuário Nível 3
Usuário Nível 3
Mensagens: 219
Registrado em: 08 Jul 2004 07:45

Usar BLAT.DLL em xharbour 0.970

Mensagem por frazato »

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
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Usar BLAT.DLL em xharbour 0.970

Mensagem por rochinha »

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:

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" 
Veja como esta o comando na DLL.CH:

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
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().
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.
frazato
Usuário Nível 3
Usuário Nível 3
Mensagens: 219
Registrado em: 08 Jul 2004 07:45

Usar BLAT.DLL em xharbour 0.970

Mensagem por frazato »

Bom dia! vou testar e retorno, muito obrigado pela ajuda.


Frazato
Responder