Page 1 of 2

Migranting xHarbour for Harbour

Posted: Thu Aug 25, 2022 11:52 am
by Ari
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: Select all | Expand


\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: Select all | Expand

                           
#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

 

Re: Migranting xHarbour for Harbour

Posted: Thu Aug 25, 2022 2:14 pm
by karinha
Simples,

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

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

Code: Select all | Expand


//----------------------------------------------------------------------------//

#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.

Re: Migranting xHarbour for Harbour

Posted: Thu Aug 25, 2022 2:18 pm
by Antonio Linares
Dear Ari,

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

We are here to help you

Re: Migranting xHarbour for Harbour

Posted: Thu Aug 25, 2022 2:40 pm
by Ari
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

Re: Migranting xHarbour for Harbour

Posted: Thu Aug 25, 2022 4:34 pm
by Ari
Resolved I used NotePad ++

Ari :D

Re: Migranting xHarbour for Harbour

Posted: Thu Aug 25, 2022 6:02 pm
by Ari
Hello

Now I need the TTaskPanel classes for Harbour 3.2.0

Do you know where I can find it?

Tanks
Ari

Re: Migranting xHarbour for Harbour

Posted: Thu Aug 25, 2022 6:32 pm
by Antonio Linares
Dear Ari,

FWH provides Class TExplorerBar, do you mean this control ?

This is a TExplorerBar built in FWH
Image

Re: Migranting xHarbour for Harbour

Posted: Thu Aug 25, 2022 6:47 pm
by Ari
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: Select all | Expand


 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

Re: Migranting xHarbour for Harbour

Posted: Thu Aug 25, 2022 7:05 pm
by Antonio Linares
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

Re: Migranting xHarbour for Harbour (Solved)

Posted: Thu Aug 25, 2022 7:07 pm
by Ari
:D

looking here I found the lib compatible with harbour 3.2.0

tanks for all the attention

Ari

Re: Migranting xHarbour for Harbour

Posted: Thu Aug 25, 2022 7:11 pm
by Ari
I would like to send an image, where do I put the image ?

Ari

Re: Migranting xHarbour for Harbour

Posted: Thu Aug 25, 2022 9:22 pm
by Antonio Linares
Ari,

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

Re: Migranting xHarbour for Harbour

Posted: Thu Aug 25, 2022 9:26 pm
by Antonio Linares
I just sent an email to Andrés Reyes to andresreyes_mzt@yahoo.com.mx

Re: Migranting xHarbour for Harbour

Posted: Fri Aug 26, 2022 11:32 am
by Ari

Re: Migranting xHarbour for Harbour

Posted: Sat Aug 27, 2022 10:30 am
by Antonio Linares
Ari,

Las imágenes se ven muy bien

Que problema hay con ellas ?