JoséQuintas escreveu:sygecom escreveu:estou ainda apanhando para compilar tudo, tem muita coisa ainda pra ajustar na compilação ainda.
Não consigo imaginar como poderia ser tão diferente.
Está usando mesmos fontes pros dois, ou duplicou tudo pra testar ?
Eu usaria mesmos fontes, assim fica tudo sempre atualizado, sem o risco de ter que mexer quando colocar em prática.
Isso é possível, às vezes mais fácil do que se imagina.
Eu também pensei que seria fácil kkkkkkkk
Mas vamos a alguns pontos que no xharbour passa de boa e no habour não.
1-STR() usando 4 parametro da erro no harbour, mesmo usando hbcompat.ch da erro de compilação
2-Tinha muitos código com uma virgula a mais desnecessário, que nem o exemplo abaixo, isso no xharbour passa na compilação e não da erro na execução, no harbour nem compila.
IF( EMPTY(cCODdes),showmsg('1'),showmsg('2'),)
3-Outro erro com IF na mesma linha que não compila, nesse caso ai ultimo .T. não servia para nada, o xharbour caga pra isso, mas o harbour não deixa.
IF(:oBr1:aArray[1,3]='DELETA',ADEL(:oBr1:aArray,1,.T.),.T.)
4-Já uso em xharbour /w2 e /es2, mas no xharbour variáveis sem uso ele compila sem erro, no harbour pede para eu remover variáveis declarada que não estão sendo usadas.
5-Tenho varias rotinas em .C usando no sistema, abaixo um exemplo que da erro ao compilar com Harbour:
Código: Selecionar todos
#IfDef __XHARBOUR__
#pragma BEGINDUMP
#pragma comment( lib, "shell32.lib" )
#include "hbapi.h"
#include <windows.h>
HB_FUNC( _OPENHELPFILE_DLL )
{
HINSTANCE hInst;
LPCTSTR lpPath = (LPTSTR) hb_parc( 1 );
LPCTSTR lpHelpFile = (LPTSTR) hb_parc( 2 );
hInst = ShellExecute( 0, "Runas", lpHelpFile, 0, lpPath, SW_SHOW );
hb_retnl( (LONG) hInst );
return;
}
#pragma ENDDUMP
#endif
Nesse caso subistitui por function nativa do harbour
!wapi_IsUserAnAdmin() // se não for um usuário ADMIN
wapi_ShellExecute_Wait( Nil, "runas", cHelpFile, nil )
6-No xharbour uso o END para finalizar um WITH OBJECT, uso para o TRY/CATH e no lugar do ENDIF, todos da certo, no Harbour pede para eu declarar cada um com seu finalizador, claro isso quando está no mesmo código tudo misturado.
E tem mais outras centenas que estou resolvendo aos poucos