FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Migranting xHarbour for Harbour
Posts: 253
Joined: Fri Feb 03, 2006 04:21 PM
Migranting xHarbour for Harbour
Posted: Thu Aug 25, 2022 11:52 AM
Olá,

How to solve this ?

i'm compiling with harbour 3.2.0, before i used xharbour 1.2.3


Lines 7320, Functions/Procedures 18
Generating C source output to '\tmp\obj901\GER.c'... Done.
bcc32 -M -c -I\harbour\INCLUDE;\BCC74\INCLUDE -tW -o\tmp\obj901\GER.obj \tmp\obj901\GER.c
Embarcadero C++ 7.40 for Win32 Copyright (c) 1993-2018 Embarcadero Technologies, Inc.
\tmp\obj901\GER.c:

Warning W8065 \\SIS\\FSQL901\\LIB\\GER.PRG 831: Call to function 'ISNIL' with no prototype in function HB_FUN_BOM
Warning W8065 \\SIS\\FSQL901\\LIB\\GER.PRG 858: Call to function 'ISNIL' with no prototype in function HB_FUN_EOM
Warning W8065 \\SIS\\FSQL901\\LIB\\GER.PRG 890: Call to function 'ISNIL' with no prototype in function HB_FUN_BOQ
Warning W8065 \\SIS\\FSQL901\\LIB\\GER.PRG 918: Call to function 'ISNIL' with no prototype in function HB_FUN_EOQ
Warning W8065 \\SIS\\FSQL901\\LIB\\GER.PRG 951: Call to function 'ISNIL' with no prototype in function HB_FUN_BOY
Warning W8065 \\SIS\\FSQL901\\LIB\\GER.PRG 977: Call to function 'ISNIL' with no prototype in function HB_FUN_EOY
Warning W8065 \\SIS\\FSQL901\\LIB\\GER.PRG 1017: Call to function 'ISNIL' with no prototype in function HB_FUN_WOM

Turbo Incremental Link 6.90 Copyright (c) 1997-2017 Embarcadero Technologies, Inc.

Error: Unresolved external '_ISNIL' referenced from C:\TMP\OBJ901\GER.OBJ

Error: Unresolved external '__hInstance' referenced from C:\BCC74\LIB\WIN32\CW32.LIB|exit
Error: Unresolved external '___CPPdebugHook' referenced from C:\BCC74\LIB\WIN32\CW32.LIB|xx
Error: Unresolved external '___System__GetTls' referenced from C:\BCC74\LIB\WIN32\CW32.LIB|xxv


Error: Unresolved external '_hb_retcAdopt' referenced from C:\SIS\FSQL901\LIB\SISREV.LIB|base64
Error: Unresolved external '_hb_retclenAdopt' referenced from C:\SIS\FSQL901\LIB\SISREV.LIB|base64



Tanks
Ari
Code (fw): Select all Collapse
\sis\fsql901\lib\libmysql.lib     +
\sis\fsql901\lib\mysqlclient.lib  +
\sis\fsql901\lib\sisrev.lib,      +  
sisrev.exe,                       +
sisrev.map,                       +
\fwh2206\lib\FiveH.lib            +
\fwh2206\lib\FiveHC.lib           +
\harbour\lib\hbhpdf.lib    + 
\harbour\lib\libhpdf.lib   + 
\harbour\lib\png.lib       + 
\harbour\lib\hbwin.lib  + 
\harbour\lib\gtgui.lib  + 
\harbour\lib\hbrtl.lib  + 
\harbour\lib\hbvm.lib   + 
\harbour\lib\hblang.lib + 
\harbour\lib\hbmacro.lib + 
\harbour\lib\hbrdd.lib  + 
\harbour\lib\rddntx.lib + 
\harbour\lib\rddcdx.lib + 
\harbour\lib\rddfpt.lib + 
\harbour\lib\hbsix.lib + 
\harbour\lib\hbdebug.lib + 
\harbour\lib\hbcommon.lib + 
\harbour\lib\hbpp.lib + 
\harbour\lib\hbcpage.lib + 
\harbour\lib\hbcplr.lib + 
\harbour\lib\hbct.lib + 
\harbour\lib\hbpcre.lib + 
\harbour\lib\xhb.lib + 
\harbour\lib\hbziparc.lib + 
\harbour\lib\hbmzip.lib + 
\harbour\lib\hbzlib.lib + 
\harbour\lib\minizip.lib + 
\harbour\lib\hbusrrdd.lib + 
\harbour\lib\hbtip.lib + 
\harbour\lib\hbzebra.lib + 
\harbour\lib\hbcurl.lib + 
\harbour\lib\libcurl.lib + 
\bcc74\lib\win32\cw32.lib + 
\bcc74\lib\win32\import32.lib + 
\bcc74\lib\win32\psdk\uuid.lib + 
\bcc74\lib\win32\psdk\ws2_32.lib + 
\bcc74\lib\win32\psdk\odbc32.lib + 
\bcc74\lib\win32\psdk\nddeapi.lib + 
\bcc74\lib\win32\psdk\iphlpapi.lib + 
\bcc74\lib\win32\psdk\msimg32.lib + 
\bcc74\lib\win32\psdk\psapi.lib + 
\bcc74\lib\win32\psdk\rasapi32.lib + 
\bcc74\lib\win32\psdk\gdiplus.lib + 
\bcc74\lib\win32\psdk\shell32.lib,


Code (fw): Select all Collapse
                            
#pragma BEGINDUMP

#include <hbapi.h>
#include <windows.h>

#include "hbapi.h"
#include "hbapiitm.h"
#include "hbdate.h"


HB_FUNC( BOM )
{
   LONG lDate;
   int iYear, iMonth, iDay;

   if( ISNIL(1) )
   {
      hb_dateToday( &iYear, &iMonth, &iDay );
      lDate = hb_dateEncode(iYear, iMonth, iDay);
   }
   else
   {
      lDate = hb_pardl( 1 );
   }

   if( lDate != 0 )
   {
     hb_dateDecode( lDate, &iYear, &iMonth, &iDay );
     hb_retd( iYear, iMonth, 1);
   }
   else
   {
      hb_retdl( 0 );
   }

}

HB_FUNC( EOM )
{
   LONG lDate;
   int iYear, iMonth, iDay;

   if( ISNIL(1) )
   {
      hb_dateToday( &iYear, &iMonth, &iDay );
      lDate = hb_dateEncode(iYear, iMonth, iDay);
   }
   else
   {
      lDate = hb_pardl( 1 );
   }

   if( lDate != 0 )
   {
     hb_dateDecode( lDate, &iYear, &iMonth, &iDay );
     iMonth ++;
     if( iMonth > 12)
     {
       iMonth = 1;
       iYear ++;
     }
     hb_retdl( hb_dateEncode( iYear, iMonth, 1 ) - 1);
   }
   else
   {
      hb_retdl( 0 );
   }
}

HB_FUNC( BOQ )
{
   LONG lDate;
   int iYear, iMonth, iDay;

   if( ISNIL(1) )
   {
      hb_dateToday( &iYear, &iMonth, &iDay );
      lDate = hb_dateEncode(iYear, iMonth, iDay);
   }
   else
   {
      lDate = hb_pardl( 1 );
   }

   if( lDate != 0 )
   {
      hb_dateDecode( lDate, &iYear, &iMonth, &iDay );
      iMonth -= ( iMonth - 1 ) % 3;

      hb_retd( iYear, iMonth, 1 );
   }
   else
   {
      hb_retdl( 0 );
   }
}

HB_FUNC( EOQ )
{
   LONG lDate;
   int iYear, iMonth, iDay;

   if( ISNIL(1) )
   {
      hb_dateToday( &iYear, &iMonth, &iDay );
      lDate = hb_dateEncode(iYear, iMonth, iDay);
   }
   else
   {
      lDate = hb_pardl( 1 );
   }

   if( lDate != 0 )
   {

      hb_dateDecode( lDate, &iYear, &iMonth, &iDay );
      iMonth += 3 - ( ( iMonth - 1 ) % 3 );
      if( iMonth > 12 )
      {
         iMonth = 1;
         iYear ++;
      }
      hb_retdl( hb_dateEncode( iYear, iMonth, 1 ) - 1 );
   }
   else
   {
      hb_retdl( 0 );
   }
}

HB_FUNC( BOY )
{
   LONG lDate;
   int iYear, iMonth, iDay;

   if( ISNIL(1) )
   {
      hb_dateToday( &iYear, &iMonth, &iDay );
      lDate = hb_dateEncode(iYear, iMonth, iDay);
   }
   else
   {
      lDate = hb_pardl( 1 );
   }

   if( lDate != 0 )
   {
      hb_dateDecode( lDate, &iYear, &iMonth, &iDay );
      hb_retd( iYear, 1, 1 );
   }
   else
   {
      hb_retdl( 0 );
   }
}

HB_FUNC( EOY )
{
   LONG lDate;
   int iYear, iMonth, iDay;

   if( ISNIL(1) )
   {
      hb_dateToday( &iYear, &iMonth, &iDay );
      lDate = hb_dateEncode(iYear, iMonth, iDay);
   }
   else
   {
      lDate = hb_pardl( 1 );
   }

   if( lDate != 0 )
   {
      hb_dateDecode( lDate, &iYear, &iMonth, &iDay );
      hb_retdl( hb_dateEncode( iYear + 1, 1, 1 ) - 1 );
   }
   else
   {
      hb_retdl( 0 );
   }
}


static int hb_wom( int iYear, int iMonth, int iDay )
{
   int iWom;

   HB_TRACE(HB_TR_DEBUG, ("hb_wom(%d, %d, %d)", iYear, iMonth, iDay));

   iWom = iDay + hb_dateDOW( iYear, iMonth, 1 ) - 1;
   if( iWom > 0 )
      return ( iWom - hb_dateDOW( iYear, iMonth, iDay ) ) / 7 + 1;
   else
      return 0;
}

HB_FUNC( WOM )
{
   LONG lDate;
   int iYear, iMonth, iDay;

   if( ISNIL(1) )
   {
      hb_dateToday( &iYear, &iMonth, &iDay );
      lDate = hb_dateEncode(iYear, iMonth, iDay);
   }
   else
   {
      lDate = hb_pardl( 1 );
   }

   if( lDate != 0 )
   {
      hb_dateDecode( lDate, &iYear, &iMonth, &iDay );
      hb_retni( hb_wom( iYear, iMonth, iDay ) );
   }
   else
   {
      hb_retni( 0 );
   }
}

#pragma ENDDUMP
Thanks,
Ari

FWH 2501 - Harbour 3.2.0 - Embarcadero 7.43 - MySQL
São Paulo - SP - Brasil
www.sisrev.com.br
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: Migranting xHarbour for Harbour
Posted: Thu Aug 25, 2022 02:14 PM
Simples,

https://github.com/harbour/core/blob/master/contrib/gtwvg/crt.prg

https://vivaclipper.wordpress.com/2014/02/12/harbour-check-functions/

Code (fw): Select all Collapse
//----------------------------------------------------------------------------//

#pragma BEGINDUMP

#include <hbapi.h>
#include <windows.h>

#include "hbapi.h"
#include "hbapiitm.h"
#include "hbdate.h"


HB_FUNC( BOM )
{
   LONG lDate;
   int iYear, iMonth, iDay;

   if( HB_ISNIL(1) )
   {
      hb_dateToday( &iYear, &iMonth, &iDay );
      lDate = hb_dateEncode(iYear, iMonth, iDay);
   }
   else
   {
      lDate = hb_pardl( 1 );
   }

   if( lDate != 0 )
   {
     hb_dateDecode( lDate, &iYear, &iMonth, &iDay );
     hb_retd( iYear, iMonth, 1);
   }
   else
   {
      hb_retdl( 0 );
   }

}

HB_FUNC( EOM )
{
   LONG lDate;
   int iYear, iMonth, iDay;

   if( HB_ISNIL(1) )
   {
      hb_dateToday( &iYear, &iMonth, &iDay );
      lDate = hb_dateEncode(iYear, iMonth, iDay);
   }
   else
   {
      lDate = hb_pardl( 1 );
   }

   if( lDate != 0 )
   {
     hb_dateDecode( lDate, &iYear, &iMonth, &iDay );
     iMonth ++;
     if( iMonth > 12)
     {
       iMonth = 1;
       iYear ++;
     }
     hb_retdl( hb_dateEncode( iYear, iMonth, 1 ) - 1);
   }
   else
   {
      hb_retdl( 0 );
   }
}

HB_FUNC( BOQ )
{
   LONG lDate;
   int iYear, iMonth, iDay;

   if( HB_ISNIL(1) )
   {
      hb_dateToday( &iYear, &iMonth, &iDay );
      lDate = hb_dateEncode(iYear, iMonth, iDay);
   }
   else
   {
      lDate = hb_pardl( 1 );
   }

   if( lDate != 0 )
   {
      hb_dateDecode( lDate, &iYear, &iMonth, &iDay );
      iMonth -= ( iMonth - 1 ) % 3;

      hb_retd( iYear, iMonth, 1 );
   }
   else
   {
      hb_retdl( 0 );
   }
}

HB_FUNC( EOQ )
{
   LONG lDate;
   int iYear, iMonth, iDay;

   if( HB_ISNIL(1) )
   {
      hb_dateToday( &iYear, &iMonth, &iDay );
      lDate = hb_dateEncode(iYear, iMonth, iDay);
   }
   else
   {
      lDate = hb_pardl( 1 );
   }

   if( lDate != 0 )
   {

      hb_dateDecode( lDate, &iYear, &iMonth, &iDay );
      iMonth += 3 - ( ( iMonth - 1 ) % 3 );
      if( iMonth > 12 )
      {
         iMonth = 1;
         iYear ++;
      }
      hb_retdl( hb_dateEncode( iYear, iMonth, 1 ) - 1 );
   }
   else
   {
      hb_retdl( 0 );
   }
}

HB_FUNC( BOY )
{
   LONG lDate;
   int iYear, iMonth, iDay;

   if( HB_ISNIL(1) )
   {
      hb_dateToday( &iYear, &iMonth, &iDay );
      lDate = hb_dateEncode(iYear, iMonth, iDay);
   }
   else
   {
      lDate = hb_pardl( 1 );
   }

   if( lDate != 0 )
   {
      hb_dateDecode( lDate, &iYear, &iMonth, &iDay );
      hb_retd( iYear, 1, 1 );
   }
   else
   {
      hb_retdl( 0 );
   }
}

HB_FUNC( EOY )
{
   LONG lDate;
   int iYear, iMonth, iDay;

   if( HB_ISNIL(1) )
   {
      hb_dateToday( &iYear, &iMonth, &iDay );
      lDate = hb_dateEncode(iYear, iMonth, iDay);
   }
   else
   {
      lDate = hb_pardl( 1 );
   }

   if( lDate != 0 )
   {
      hb_dateDecode( lDate, &iYear, &iMonth, &iDay );
      hb_retdl( hb_dateEncode( iYear + 1, 1, 1 ) - 1 );
   }
   else
   {
      hb_retdl( 0 );
   }
}


static int hb_wom( int iYear, int iMonth, int iDay )
{
   int iWom;

   HB_TRACE(HB_TR_DEBUG, ("hb_wom(%d, %d, %d)", iYear, iMonth, iDay));

   iWom = iDay + hb_dateDOW( iYear, iMonth, 1 ) - 1;
   if( iWom > 0 )
      return ( iWom - hb_dateDOW( iYear, iMonth, iDay ) ) / 7 + 1;
   else
      return 0;
}

HB_FUNC( WOM )
{
   LONG lDate;
   int iYear, iMonth, iDay;

   if( HB_ISNIL(1) )
   {
      hb_dateToday( &iYear, &iMonth, &iDay );
      lDate = hb_dateEncode(iYear, iMonth, iDay);
   }
   else
   {
      lDate = hb_pardl( 1 );
   }

   if( lDate != 0 )
   {
      hb_dateDecode( lDate, &iYear, &iMonth, &iDay );
      hb_retni( hb_wom( iYear, iMonth, iDay ) );
   }
   else
   {
      hb_retni( 0 );
   }
}

#pragma ENDDUMP


Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Migranting xHarbour for Harbour
Posted: Thu Aug 25, 2022 02:18 PM

Dear Ari,

Please let us know if you need any further help on your migration

We are here to help you

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 253
Joined: Fri Feb 03, 2006 04:21 PM
Re: Migranting xHarbour for Harbour
Posted: Thu Aug 25, 2022 02:40 PM

Tanks ! Karinha

Tanks Antonio !

I have another modification in more than 500 lines to modify from:

Super: New()

for:

::Super:New()

What's the best way?

Ari

Thanks,
Ari

FWH 2501 - Harbour 3.2.0 - Embarcadero 7.43 - MySQL
São Paulo - SP - Brasil
www.sisrev.com.br
Posts: 253
Joined: Fri Feb 03, 2006 04:21 PM
Re: Migranting xHarbour for Harbour
Posted: Thu Aug 25, 2022 04:34 PM

Resolved I used NotePad ++

Ari :D

Thanks,
Ari

FWH 2501 - Harbour 3.2.0 - Embarcadero 7.43 - MySQL
São Paulo - SP - Brasil
www.sisrev.com.br
Posts: 253
Joined: Fri Feb 03, 2006 04:21 PM
Re: Migranting xHarbour for Harbour
Posted: Thu Aug 25, 2022 06:02 PM

Hello

Now I need the TTaskPanel classes for Harbour 3.2.0

Do you know where I can find it?

Tanks
Ari

Thanks,
Ari

FWH 2501 - Harbour 3.2.0 - Embarcadero 7.43 - MySQL
São Paulo - SP - Brasil
www.sisrev.com.br
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Migranting xHarbour for Harbour
Posted: Thu Aug 25, 2022 06:32 PM
Dear Ari,

FWH provides Class TExplorerBar, do you mean this control ?

This is a TExplorerBar built in FWH
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 253
Joined: Fri Feb 03, 2006 04:21 PM
Re: Migranting xHarbour for Harbour
Posted: Thu Aug 25, 2022 06:47 PM
Yes

It is this control, but use in many places as follows:

and to rewrite is a lot of work.

/**************************************************************************************************
* Project : TTaskpanel
* File : TaskPanel.prg
*
* Copyright 2010 Andres Reyes Hernandez - <andresreyes_mzt/at/yahoo.com.mx>
* http://codigo-base.blogspot.com




Code (fw): Select all Collapse
 TASKGROUP oGrp[5] PROMPT "Legenda dos LEDs" COLLAPSABLE WATERMARK MARCA_DAGUA COLLAPSED BITMAP "info"
    TASKITEM "<b>Legenda Configurações Internas(1)</b>"                       INFO
    TASKITEM ""
    TASKITEM "<b>Coluna [H] Help</b>: clique nesta coluna p/busca de mais explicações da config." BITMAP "INFO" INFO
    TASKITEM ""
    TASKITEM "<b>Coluna [N] Nível:</b>"                                       INFO
    TASKITEM "Azul: configuração travada"                    BITMAP "LEVEL9"  INFO
    TASKITEM "Marrom: dependente de outras"                  BITMAP "LEVEL6"  INFO
    TASKITEM "Amarelo: tem avisos (requer atenção)"          BITMAP "LEVEL2"  INFO
    TASKITEM "Violeta: livre"                                BITMAP "LEVEL4"  INFO
    TASKITEM "Branco: customizada"                           BITMAP "LEVEL7"  INFO
    TASKITEM ""
    TASKITEM "<b>Coluna [P] padrão:</b> como a config é na origem"            INFO
    TASKITEM "Verde: padrão ligada quando instala o sistema" BITMAP "LEVEL3"  INFO
    TASKITEM "Vermelho: padrão desligada."                   BITMAP "LEVEL1"  INFO
    TASKITEM ""
    TASKITEM "<b>Coluna [L] Ligada/Desligada:</b>"                            INFO
    TASKITEM "Verde: ligada"                                 BITMAP "LEVEL3" INFO
    TASKITEM "Vermelha: desligada"                           BITMAP "LEVEL1" INFO
    TASKITEM ""
    TASKITEM "<b>Coluna [F] Fixa:</b> configuração fixa na listagem do programa, só pode ser modificada pelo programador" INFO
    TASKITEM "Azul: fixa"                                    BITMAP "LEVEL5" INFO
    TASKITEM "Sem LED: não é fixa"                           BITMAP "LEVEL8" INFO
    TASKITEM ""
    TASKITEM "<b>Obs:</b> o acesso a essa janela é controlado pelo direito de usuário: <b>d0026</b>" INFO
  ENDTASKGROUP


Now I can enter the system and the windows that has the Task, gives internal error in LIB, where I do not have the sources:

Ari
Thanks,
Ari

FWH 2501 - Harbour 3.2.0 - Embarcadero 7.43 - MySQL
São Paulo - SP - Brasil
www.sisrev.com.br
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Migranting xHarbour for Harbour
Posted: Thu Aug 25, 2022 07:05 PM

Dear Ari,

I just sent a message to Andres Reyes on facebook asking him for his help on this issue

Lets wait for his answer

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 253
Joined: Fri Feb 03, 2006 04:21 PM
Re: Migranting xHarbour for Harbour (Solved)
Posted: Thu Aug 25, 2022 07:07 PM

looking here I found the lib compatible with harbour 3.2.0

tanks for all the attention

Ari

:D

Thanks,
Ari

FWH 2501 - Harbour 3.2.0 - Embarcadero 7.43 - MySQL
São Paulo - SP - Brasil
www.sisrev.com.br
Posts: 253
Joined: Fri Feb 03, 2006 04:21 PM
Re: Migranting xHarbour for Harbour
Posted: Thu Aug 25, 2022 07:11 PM

I would like to send an image, where do I put the image ?

Ari

Thanks,
Ari

FWH 2501 - Harbour 3.2.0 - Embarcadero 7.43 - MySQL
São Paulo - SP - Brasil
www.sisrev.com.br
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Migranting xHarbour for Harbour
Posted: Thu Aug 25, 2022 09:22 PM

Ari,

You can create a repository for free on GitHub and there save your images, and here you use the URL address of them

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Migranting xHarbour for Harbour
Posted: Thu Aug 25, 2022 09:26 PM

I just sent an email to Andrés Reyes to andresreyes_mzt@yahoo.com.mx

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 253
Joined: Fri Feb 03, 2006 04:21 PM
Re: Migranting xHarbour for Harbour
Posted: Fri Aug 26, 2022 11:32 AM
Thanks,
Ari

FWH 2501 - Harbour 3.2.0 - Embarcadero 7.43 - MySQL
São Paulo - SP - Brasil
www.sisrev.com.br
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Migranting xHarbour for Harbour
Posted: Sat Aug 27, 2022 10:30 AM

Ari,

Las imágenes se ven muy bien

Que problema hay con ellas ?

regards, saludos

Antonio Linares
www.fivetechsoft.com