FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Harbour and xHarbour para MingW GCC1501
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Harbour and xHarbour para MingW GCC1501
Posted: Sun Jun 01, 2025 03:52 PM
Enrico, see that in PROJ.HBP, I'm calling only 4 PRGS. and the one that doesn't work is RMAILAMB.PRG -> If possible, take a look at it and see if you can find the problem using CDOSYS, please.

Enrico, mira que en PROJ.HBP, estoy llamando solo 4 PRGS. y el que no funciona es RMAILAMB.PRG -> Si es posible, échale un vistazo y ve si puedes encontrar el problema usando CDOSYS, por favor.
C:\RMAILAMB\RMAILAMB.prg

########## <MODULOS AUXILIARES>
C:\RMAILAMB\FUNCOES.prg
C:\RMAILAMB\DSAY.prg
C:\RMAILAMB\SSAY.prg
Gracias, tks.

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Re: Harbour and xHarbour para MingW GCC1501
Posted: Sun Jun 01, 2025 05:02 PM

RMAILAMB.PRG is 5216 lines! Please take the time to eliminate all that is not related with the error.

Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Harbour and xHarbour para MingW GCC1501
Posted: Mon Jun 02, 2025 01:38 PM
Buenos días, Enrico. Como dije antes, con un programa pequeño, ¡funciona! Con uno grande, no funciona. ¿Memoria?

Good morning Enrico. As I said before, with a SMALL PROGRAM, IT WORKS! When it is BIG, IT DOESN'T WORK. Memory?
// ****************************************************************************
// Empresa Desenvolvedora : SB Info System                                    *
// Programador : Alessandro Seribeli Barreto - Ale SB                         *
// Contato:                                                                   *
// Msn   : aleseribeli@hotmail.com                                            *
// eMail : ale.seribeli@ig.com.br                                             *
// Skype : ale.sb                                                             *
// Fones : (18) 9782-3281 - (18) 3722-8639 - Andradina / SP                   *
// Versao 2.01                                                    16/03/2010  *
// MODIFICADO EM: 02/06/2025 - By Joao Santos(Kapiaba)-kapiabafwh@gmail.com   *
// ****************************************************************************

#Include "Fivewin.ch"

FUNCTION Main()

   LOCAL cUser := Space(20), cPass := Space( 15 ), cRemt := Space( 40 ), ;
         cDest := Space(40), cTime, aGrad, lSair := .F., oFnt, oFont, oBmp
   LOCAL oDlg, oGet[4], oSay[6], oBtn[2]

   cDest := "kapiabafwh@gmail.com" + SPACE(17)

   aGrad := { { .50, nRGB( 210, 235, 216 ), nRGB( 255, 255, 255 ) } }

   DEFINE FONT oFont NAME "Ms Sans Serif" SIZE 00, -14 BOLD
   DEFINE FONT oFnt  NAME "Ms Sans Serif" SIZE 00, -12 BOLD

   DEFINE DIALOG oDlg TITLE "..:: Teste de Envio de eMail BCC/GCC ::.."      ;
      FONT oFont GRADIENT aGrad

   oDlg:nStyle       := nOR( DS_MODALFRAME, DS_SYSMODAL, WS_POPUP, WS_CAPTION, WS_SYSMENU )
   oDlg:lTransparent := .T.
   oDlg:lHelpIcon    := .F.
   oDlg:nTop         := 0
   oDlg:nLeft        := 0
   oDlg:nBottom      := 230
   oDlg:nRight       := 290

   @ 002, 006 SAY oSay[ 1 ] PROMPT "Usuário: Somente o Nome" OF oDlg         ;
      SIZE 100, 08 COLOR CLR_BLUE PIXEL UPDATE

   @ 012, 058 SAY oSay[ 2 ] PROMPT "@pleno.com.br" OF oDlg SIZE 60, 12       ;
      COLOR CLR_BLACK PIXEL UPDATE

   @ 022, 006 SAY oSay[ 3 ] PROMPT "PassWord:" OF oDlg SIZE 60, 12 PIXEL     ;
      COLOR METRO_ORANGE, CLR_WHITE UPDATE

   @ 042, 006 SAY oSay[ 4 ] PROMPT "Remetente: Somente o Nome" OF oDlg       ;
      SIZE 150, 12 COLOR CLR_BLUE PIXEL UPDATE

   @ 052, 058 SAY oSay[ 2 ] PROMPT "@pleno.com.br" OF oDlg SIZE 60, 12       ;
      COLOR CLR_BLACK PIXEL UPDATE

   @ 062, 006 SAY oSay[ 5 ] PROMPT "Destinatário: 01 Destinatário" OF oDlg   ;
      SIZE 150, 12 COLOR CLR_BLUE PIXEL UPDATE

   @ 085, 006 SAY oSay[ 6 ] VAR cTime OF oDlg SIZE 50, 12 COLOR CLR_RED PIXEL;
      UPDATE

   @24, 114 BITMAP oBmp RESOURCE "FERRARI" SIZE 24, 30 PIXEL OF oDlg NOBORDER;
      TRANSPARENT

   @ 010, 006 GET oGet[ 1 ] VAR cUser SIZE 50, 10 PIXEL OF oDlg PICTURE "@"  ;
      UPDATE

   oGet[ 1 ]:bValid := {| lRet | if( lRet := !Empty( cUser ), ( oGet[ 3 ]:VarPut( cUser ), oGet[ 3 ]:Refresh() ), ), lRet }

   @ 030, 006 GET oGet[ 2 ] VAR cPass SIZE 50, 10 PIXEL OF oDlg UPDATE

   oGet[ 2 ]:lPassWord := .T.

   @ 050, 006 GET oGet[ 3 ] VAR cRemt SIZE 50, 10 PIXEL OF oDlg PICTURE "@"  ;
      UPDATE

   @ 070, 006 GET oGet[ 4 ] VAR cDest SIZE 130, 10 PIXEL OF oDlg PICTURE "@" ;
      UPDATE

   @ 096, 010 BUTTONBMP oBtn[ 1 ] PROMPT "    &Send Email" OF oDlg           ;
      SIZE 70, 14 PIXEL RESOURCE "142" TEXTRIGHT                             ;
      ACTION ( cTime := "Aguarde...", oSay[ 6 ]:Refresh(),                   ;
      IF( lRet := Config_Mail( Lower( AllTrim( cUser ) ),                    ;
      AllTrim( cPass ), Lower( AllTrim( cRemt ) ),                           ;
      Lower( AllTrim( cDest ) ) ),                                           ;
      MsgInfo( "Mensagem Enviada com Sucesso!", "Atençao" ), ), cTime := "", ;
      oSay[ 6 ]:Refresh() )

   oBtn[ 1 ]:bWhen := {|| !Empty( cUser ) }

   @ 096, 090 BUTTONBMP oBtn[2] PROMPT "    &Exit" OF oDlg SIZE 40, 14 PIXEL ;
      RESOURCE "EXIT" TEXTRIGHT ACTION ( lSair := .T., oDlg:End() ) CANCEL

   ACTIVATE DIALOG oDlg CENTERED VALID( lSair )

   oFnt:End()
   oFont:End()

RETURN NIL

FUNCTION Config_Mail( _cUser, cPass, _cRemt, cDest )

   LOCAL lRet := .F.
   LOCAL oCfg, oError
   LOCAL cServ := "smtp.pleno.com.br" //-> SERVIDOR SMTP - "smtp.servidor.com.br"
   LOCAL nPort := 587
   LOCAL lAut  := .T.
   LOCAL lSSL  := .F.

   IF Empty( cPass ) .OR. Empty( _cRemt ) .OR. Empty( cDest )

      MsgInfo( "Preencha Todos Campos Corretamente", ;
               "Preencha Todos Campos Corretamente" )

      RETURN( .F. )

   ELSE

      cUser := _cUser + "@pleno.com.br"

      cRemt := _cRemt + "@pleno.com.br"

   ENDIF

   TRY

   oCfg := CREATEOBJECT( "CDO.Configuration" )

   WITH OBJECT oCfg:Fields

      :Item( "http://schemas.microsoft.com/cdo/configuration/smtpserver"       ):Value := cServ
      :Item( "http://schemas.microsoft.com/cdo/configuration/smtpserverport"   ):Value := nPort
      :Item( "http://schemas.microsoft.com/cdo/configuration/sendusing"        ):Value := 2
      :Item( "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate" ):Value := lAut
      :Item( "http://schemas.microsoft.com/cdo/configuration/smtpusessl"       ):Value := lSSL
      :Item( "http://schemas.microsoft.com/cdo/configuration/sendusername"     ):Value := cUser
      :Item( "http://schemas.microsoft.com/cdo/configuration/sendpassword"     ):Value := cPass

      :Update()

   END WITH

   lRet := .T.

   CATCH oError

   MsgInfo( "Não Foi possível Enviar o e-Mail!"  + CRLF + ;
            "Error: "     + Transform( oError:GenCode,   nil ) + ";" + CRLF + ;
            "SubC: "      + Transform( oError:SubCode,   nil ) + ";" + CRLF + ;
            "OSCode: "    + Transform( oError:OsCode,    nil ) + ";" + CRLF + ;
            "SubSystem: " + Transform( oError:SubSystem, nil ) + ";" + CRLF + ;
            "Mensaje: "   + oError:Description, "Atenção" )

   END

   // --> FIM DAS CONFIGURAÇOES.
   IF lRet

      lRet := Envia_Mail( oCfg, cRemt, cDest )

   ENDIF

RETURN( lRet )

FUNCTION Envia_Mail( oCfg, cFrom, cDest )

   LOCAL aAttach := {}, aTo := {}
   LOCAL cToken
   LOCAL lRet := .F.
   LOCAL nEle
   LOCAL cSubject, cMsg, cAttach

   aTo      := { cDest } // --> PARA

   cSubject := "Teste de Envio de eMail - FWH .And. BCC/GCC"  // --> ASSUNTO

   cMsg     := "Opa..chegou o trem," + CRLF + ;
               "Este Fw eh Porreta mesmo..ehhehe."

   #ifdef __XHARBOUR__  // PERFEITO COM XHARBOUR( I Like )

      cAttach   := Curdrive() + ":\" + CurDir() + "\caipira.jpg"

   #Else // HARBOUR E ASSIM: ( No Like ) hahahahaha,

      cAttach   := HB_Curdrive() + ":\" + CurDir() + "\caipira.jpg"

   #Endif

   nEle := 1

   WHILE .NOT. Empty( cToken := StrToken( cAttach, nEle++, "," ) )

      SYSREFRESH()

      AAdd( aAttach, cToken )

   ENDDO

   FOR i := 1 TO Len( aTo )

      TRY

      oMsg := CREATEOBJECT ( "CDO.Message" )

      WITH OBJECT oMsg

         :Configuration = oCfg

         :FROM = cFrom

         :TO = aTo[ i ]

         :Subject = cSubject

         :TextBody = cMsg

         FOR x := 1 TO Len( aAttach )

            :AddAttachment( AllTrim( aAttach[ x ] ) )

         NEXT

         :Send()

      END WITH

      lRet := .T.

      CATCH

      MsgInfo( "Não Foi Possível Enviar," + CRLF + ;
               "a Mensagem: "             + CRLF + ;
               cSubject                   + CRLF + ;
               "p/ o eMail: " + aTo[ i ], "Atenção" )

      lRet := .F.

      END

   NEXT

RETURN( lRet )

// FIN / END
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Harbour and xHarbour para MingW GCC1501
Posted: Mon Jun 02, 2025 01:41 PM
Download completo aqui:

https://mega.nz/file/kYEQGQrD#1A1LMC49tUi37WaSVJaVam05FIJ7OIuUzHE3c_H7O10

Gracias, tks.

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Re: Harbour and xHarbour para MingW GCC1501
Posted: Mon Jun 02, 2025 02:48 PM

Please remove one block of code at a time and test it. You will find the cause of the problem. That is what I would do, but I'm not willing to do it for you, sorry.

Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Harbour and xHarbour para MingW GCC1501
Posted: Mon Jun 02, 2025 03:31 PM
Enrico Maria Giordano wrote: Please remove one block of code at a time and test it. You will find the cause of the problem. That is what I would do, but I'm not willing to do it for you, sorry.
Thanks anyway. I won't waste my time or yours. IT WORKS PERFECTLY with BORLAND BCC77 AND XHARBOUR. I was disappointed with this compiler. What a shame. Thanks for the help.

Gracias de todas formas. No perderé mi tiempo ni te pediría que lo hicieras. FUNCIONA PERFECTAMENTE con BORLAND BCC77 y XHARBOUR. Me decepcionó este compilador. Una verdadera lástima. Gracias por tu ayuda.

Gracias, tks.

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341

Continue the discussion