Page 3 of 3

Re: Bug harbour_3.2_32bits_MSVC2013_20142906

PostPosted: Tue Jul 08, 2014 4:29 am
by Antonio Linares
Totalmente de acuerdo (CAVO: CA-Visual Objects). Pero, menudo regalazo no hizo CA con los errores que cometieron :-)
Ahora "Clipper" es "nuestro", y no pagamos ni un céntimo por él ;-)

Determinados errores cometidos por "grandes empresas" han sido piezas fundamentales de FiveWin:

Hace muchos años, cayó en mis manos una versión alfa de Visual dbase ("Cayenne"). Me la regaló un empleado de Borland en Madrid. Aun la conservo, y en ella había ideas estupendas que estan hoy en dia en FiveWin :-) Luego Borland fué bastante estúpido y tiro a la basura esa versión y se fué al modelo IDE (igual que Visual FoxPro, etc) desperdiciando auténticas joyas de ideas que existían en esa version :-) La versión inicial iba a ser un compilador al estilo Clipper, pero perdieron el rumbo con los "cantos de sirenas" de los IDEs :-)

Tambien hay conceptos de FoxPro en FiveWin. Yo tenía una pequeña guía de bolsillo de los comandos de FoxPro. "DEFINE WINDOW", etc. muchos de ellos son conceptos de FoxPro :-)

El famoso MsgInfo(), etc. son ideas originales que encontré en una versión beta de Paradox de Borland. Paradox significa "Paradoja". Paradojas de la vida: ¿ donde está hoy en dia "Paradox" ? :-)

Estando atentos, siempre aparecen grandes oportunidades. Hasta en los basureros se pueden encontrar auténticos "tesoros" :-)

Las grandes empresas tambien cometen errores. Normalmente se creen que por ser grandes no se pueden equivocar, pero la realidad es que al ser grandes se hunden más rápido (como el Titanic). Sus movimientos son lentos y torpes, no tienen la capacidad de reacción de las mini-empresas :-)

Asi que nunca penseis que por ser pequeños no podeis vencer a una gran empresa. David venció a Goliat! Aprender de sus debilidades y errores es la clave para no cometer las mismas estupideces.

Re: Bug harbour_3.2_32bits_MSVC2013_20142906

PostPosted: Tue Jul 08, 2014 5:07 am
by Antonio Linares
Y puestos a contar batallitas, ¿ en que me inspiré para construir Harbour ? En Linux, por supuesto.

Cuando ví el milagro que había hecho Linus Torvals entendí que era aplicable a un Clipper moderno y de ahi nace Harbour :-)

Y de unos añitos que me pasé aprendiendo "Lex y Yacc", en concreto aprendí de este libro:

http://shop.oreilly.com/product/9781565920002.do

Image

El resto ? bueno, ya lo sabeis, el compilador que todos usamos ;-)

Re: Bug harbour_3.2_32bits_MSVC2013_20142906

PostPosted: Sun Jul 13, 2014 6:57 pm
by cnavarro
Antonio

Con la version Fwh1406, obtengo este error
Compiling...
Harbour 3.2.0dev (r1406271520)
Copyright (c) 1999-2014, http://harbour-project.org/
Compiling 'prog01.prg' and generating preprocessed output to 'prog01.ppo'...
Lines 6145, Functions/Procedures 11
Generating C source output to 'prog01.c'... Done.
Compilador de optimización de C/C++ de Microsoft (R) versión 18.00.30501 para x86
(C) Microsoft Corporation. Reservados todos los derechos.

prog01.c
xhb.lib(xhbole.obj) : warning LNK4006: _HB_FUN_OLEDEFAULTARG ya se definió en FiveH32.lib(OLEFUNCS.obj); segunda definic
ión omitida
Creando biblioteca prog01.lib y objeto prog01.exp
FiveHC32.lib(MSGS.obj) : warning LNK4217: se importó el símbolo _strchr definido localmente en la función _LToStr
FiveHC32.lib(FWPNG.obj) : warning LNK4217: se importó el símbolo _fclose definido localmente en la función _save_png_to_
file
FiveHC32.lib(FWPNG.obj) : warning LNK4217: se importó el símbolo _fopen definido localmente en la función _save_png_to_f
ile
FiveHC32.lib(FWPNG.obj) : warning LNK4217: se importó el símbolo _longjmp definido localmente en la función _ReadPng
FiveHC32.lib(LISTVIEW.obj) : warning LNK4217: se importó el símbolo _wcslen definido localmente en la función _HB_FUN_LV
INSERTGROUP
FiveHC32.lib(FWARRAY.obj) : warning LNK4217: se importó el símbolo _memmove definido localmente en la función _fwArrayDe
l
FiveHC32.lib(MSGS.obj) : error LNK2019: símbolo externo __imp__sprintf sin resolver al que se hace referencia en la func
ión _LToStr
FiveHC32.lib(FWBMP.obj) : error LNK2019: símbolo externo __imp__strstr sin resolver al que se hace referencia en la func
ión _HB_FUN_PALBTNPAINT
prog01.exe : fatal error LNK1120: 2 externos sin resolver
* Linking errors *


Mi configuracion es
if exist "%ProgramFiles%\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" call "%ProgramFiles%\Microsoft

Visual Studio 12.0\VC\vcvarsall.bat"
if exist "%ProgramFiles(x86)%\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" call "%ProgramFiles(x86)%

\Microsoft Visual Studio 12.0\VC\vcvarsall.bat"

rem if "%FWDIR%" == "" set FWDIR=.\..
set FWDIR=c:\fwh\fwh1406
rem if "%HBDIR%" == "" set HBDIR=c:\harbour
set HBDIR=C:\Harbour\harbvc20142906


Ocurre igual con harbvc20131007

Resumiendo:
- Fwh1402 con harbvc20131007 genera el exe OK y funciona OK
- Fwh1402 con harbvc20142906 genera el exe OK y funciona OK
- Fwh1404 con harbvc20131007 genera el exe OK pero da Error:
Error description: Error BASE/1004 Message not found: TBTNFLAT:DEFCONTROL
- Fwh1404 con harbvc20142906 genera el exe OK pero da Error:
Error description: Error BASE/1004 Message not found: TBTNFLAT:DEFCONTROL
- Fwh1406 con harbvc20131007 obtengo los errores descritos anteriormente
(En este caso como no genera el exe no puedo saber si tambien da error en TBTNFLAT)
- Fwh1406 con harbvc20142906 obtengo los errores descritos anteriormente
(En este caso como no genera el exe no puedo saber si tambien da error en TBTNFLAT)

Re: Bug harbour_3.2_32bits_MSVC2013_20142906

PostPosted: Sun Jul 13, 2014 10:54 pm
by Antonio Linares
Cristobal,

Que PRG estás construyendo ? Puedes copiar el fuente aqui ? gracias

Re: Bug harbour_3.2_32bits_MSVC2013_20142906

PostPosted: Mon Jul 14, 2014 6:49 pm
by cnavarro
Antonio
Te lo he enviado por mail
Gracias

Re: Bug harbour_3.2_32bits_MSVC2013_20142906

PostPosted: Fri Jul 18, 2014 4:45 pm
by Maurizio
Antonio ,
same error
Code: Select all  Expand view
hbmk2: Linking... MASTROSQL.EXE
   Creazione della libreria MASTROSQL.lib e dell'oggetto MASTROSQL.exp in corso.
..
fivehc32.lib(MSGS.obj) : warning LNK4217: simbolo _strchr definito localmente im
portato nella funzione _LToStr
fivehc32.lib(FWPNG.obj) : warning LNK4217: simbolo _fclose definito localmente i
mportato nella funzione _save_png_to_file
fivehc32.lib(FWPNG.obj) : warning LNK4217: simbolo _fopen definito localmente im
portato nella funzione _save_png_to_file
fivehc32.lib(FWPNG.obj) : warning LNK4217: simbolo _longjmp definito localmente
importato nella funzione _ReadPng
fivehc32.lib(LISTVIEW.obj) : warning LNK4217: simbolo _wcslen definito localment
e importato nella funzione _HB_FUN_LVINSERTGROUP
fivehc32.lib(FWARRAY.obj) : warning LNK4217: simbolo _memmove definito localment
e importato nella funzione _fwArrayDel
fivehc32.lib(MSGS.obj) : error LNK2019: riferimento al simbolo esterno __imp__sp
rintf non risolto nella funzione _LToStr
fivehc32.lib(FWBMP.obj) : error LNK2019: riferimento al simbolo esterno __imp__s
trstr non risolto nella funzione _HB_FUN_PALBTNPAINT
MASTROSQL.EXE : fatal error LNK1120: 2 esterni non risolti
hbmk2: Error: Running linker. 1120
link.exe @C:\Users\Maurizio\AppData\Local\Temp\st87y4.lnk

hbmk2: Error: Referenced, missing, but unknown function(s): LVINSERTGROUP(),
       PALBTNPAINT()
****************** Linking errors *


Maurizio
www.nipeservice.com

Re: Bug harbour_3.2_32bits_MSVC2013_20142906

PostPosted: Sun Jul 20, 2014 3:54 am
by Antonio Linares
Cristobal,

Debe faltar un fichero de cabecera que no me has enviado:

Microsoft (R) C/C++ Optimizing Compiler Version 18.00.30501 for x86
Copyright (C) Microsoft Corporation. All rights reserved.

prog01.c
prog01.prg(808) : error C2065: 'IDC_WIN32PROJECT1' : undeclared identifier
prog01.prg(909) : error C2065: 'IDS_APP_TITLE' : undeclared identifier
prog01.prg(910) : error C2065: 'IDC_WIN32PROJECT1' : undeclared identifier
prog01.prg(936) : error C2065: 'IDC_WIN32PROJECT1' : undeclared identifier
prog01.prg(1061) : error C2065: 'IDI_WIN32PROJECT1' : undeclared identifier
prog01.prg(1064) : error C2065: 'IDC_WIN32PROJECT1' : undeclared identifier
prog01.prg(1066) : error C2065: 'IDI_SMALL' : undeclared identifier
prog01.prg(1146) : error C2065: 'IDM_ABOUT' : undeclared identifier
prog01.prg(1146) : error C2051: case expression not constant
prog01.prg(1147) : error C2065: 'IDD_ABOUTBOX' : undeclared identifier
prog01.prg(1149) : error C2065: 'IDM_EXIT' : undeclared identifier
prog01.prg(1149) : error C2051: case expression not constant
prog01.prg(1154) : warning C4065: switch statement contains 'default' but no 'ca
se' labels
prog01.prg(1316) : error C3861: '_T': identifier not found
prog01.prg(1356) : error C3861: '_tcslen': identifier not found
prog01.prg(1358) : error C3861: '_tcslen': identifier not found
prog01.prg(1359) : error C3861: '_tcslen': identifier not found
prog01.prg(1366) : error C2065: 'IDC_WIN32PROJECT1' : undeclared identifier
Microsoft (R) Windows (R) Resource Compiler Version 6.3.9600.17029
Copyright (C) Microsoft Corporation. All rights reserved.

prog01.RC(3) : fatal error RC1015: cannot open include file 'resource.h'.
LINK : fatal error LNK1181: cannot open input file 'prog01.obj'
* Linking errors *

Re: Bug harbour_3.2_32bits_MSVC2013_20142906

PostPosted: Sun Jul 20, 2014 3:59 am
by Antonio Linares
Maurizio,

What Visual Studio version are you using ?

Please try: FWH\samples\buildh32.bat tutor01

and let me know if you also get those warnings.

With VS2013 it works fine, as tutor01.prg calls MsgInfo() which it is in msgs.c module and thats where LToStr() is and from it strchr() is called.

I guess that you are using an older Visual Studio version.

Re: Bug harbour_3.2_32bits_MSVC2013_20142906

PostPosted: Sun Jul 20, 2014 6:59 am
by cnavarro
Antonio,
Creo que con esto está completo

Fichero: win32project1.h
Code: Select all  Expand view

#pragma once

#include "resource.h"
 


Y fichero resource.h
Code: Select all  Expand view

//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by Win32Project1.rc
//

#define IDS_APP_TITLE           103

#define IDR_MAINFRAME           128
#define IDD_WIN32PROJECT1_DIALOG    102
#define IDD_ABOUTBOX            103
#define IDM_ABOUT               104
#define IDM_EXIT                105
#define IDI_WIN32PROJECT1           107
#define IDI_SMALL               108
#define IDC_WIN32PROJECT1           109
#define IDC_MYICON              2
#ifndef IDC_STATIC
#define IDC_STATIC              -1
#endif
// Valores predeterminados siguientes para nuevos objetos
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS

#define _APS_NO_MFC                 130
#define _APS_NEXT_RESOURCE_VALUE    129
#define _APS_NEXT_COMMAND_VALUE     32771
#define _APS_NEXT_CONTROL_VALUE     1000
#define _APS_NEXT_SYMED_VALUE       110
#endif
#endif
 

Re: Bug harbour_3.2_32bits_MSVC2013_20142906

PostPosted: Sun Jul 20, 2014 7:03 am
by cnavarro
Y tambien

Win32Project1.rc

Code: Select all  Expand view

//Script de recursos generado en Microsoft Visual C++.
//
#include "resource.h"

#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generado a partir del recurso TEXTINCLUDE 2.
//
#ifndef APSTUDIO_INVOKED
#include "targetver.h"
#endif
#define APSTUDIO_HIDDEN_SYMBOLS
#include "windows.h"
#undef APSTUDIO_HIDDEN_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ESN)
LANGUAGE 10, 3

/////////////////////////////////////////////////////////////////////////////
//
// Icono
//

// Icono con el valor de id. menor colocado en primer lugar para garantizar que el icono de la aplicación
// es el mismo en todos los sistemas.

IDI_WIN32PROJECT1       ICON         "Win32Project1.ico"
IDI_SMALL               ICON         "small.ico"

/////////////////////////////////////////////////////////////////////////////
//
// Menú
//

IDC_WIN32PROJECT1 MENU
BEGIN
    POPUP "&Archivo"
    BEGIN
        MENUITEM "&Salir",                IDM_EXIT
    END
    POPUP "Ay&uda"
    BEGIN
        MENUITEM "&Acerca de...",           IDM_ABOUT
    END
END


/////////////////////////////////////////////////////////////////////////////
//
// Acelerador
//

IDC_WIN32PROJECT1 ACCELERATORS
BEGIN
    "?",            IDM_ABOUT,              ASCII,  ALT
    "/",            IDM_ABOUT,              ASCII,  ALT
END


/////////////////////////////////////////////////////////////////////////////
//
// Cuadro de diálogo
//

IDD_ABOUTBOX DIALOGEX 0, 0, 170, 62
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Acerca de Win32Project1"
FONT 8, "MS Shell Dlg"
BEGIN
    ICON            IDR_MAINFRAME,IDC_STATIC,14,14,21,20
    LTEXT           "Win32Project1, versión 1.0",IDC_STATIC,42,14,114,8,SS_NOPREFIX
    LTEXT           "Copyright (C) 2014",IDC_STATIC,42,26,114,8
    DEFPUSHBUTTON   "Aceptar",IDOK,113,41,50,14,WS_GROUP
END

/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//

#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO
BEGIN
    IDD_ABOUTBOX, DIALOG
    BEGIN
        LEFTMARGIN, 7
        RIGHTMARGIN, 163
        TOPMARGIN, 7
        BOTTOMMARGIN, 55
    END
END
#endif    // APSTUDIO_INVOKED

#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE
BEGIN
    "resource.h\0"
END

2 TEXTINCLUDE
BEGIN
    "#ifndef APSTUDIO_INVOKED\r\n"
    "#include ""targetver.h""\r\n"
    "#endif\r\n"
    "#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
    "#include ""windows.h""\r\n"
    "#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
    "\0"
END

3 TEXTINCLUDE
BEGIN
    "\r\n"
    "\0"
END

#endif    // APSTUDIO_INVOKED

/////////////////////////////////////////////////////////////////////////////
//
// Tabla de cadenas
//

STRINGTABLE
BEGIN
   IDC_WIN32PROJECT1   "WIN32PROJECT1"
   IDS_APP_TITLE       "Win32Project1"
END

#endif
/////////////////////////////////////////////////////////////////////////////



#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generado a partir del recurso TEXTINCLUDE 3.
//

/////////////////////////////////////////////////////////////////////////////
#endif    // No APSTUDIO_INVOKED


 

Re: Bug harbour_3.2_32bits_MSVC2013_20142906

PostPosted: Sun Jul 20, 2014 7:11 am
by cnavarro
Antonio
Te he vuelto a enviar un nuevo mail

Re: Bug harbour_3.2_32bits_MSVC2013_20142906

PostPosted: Mon Jul 21, 2014 8:22 am
by Maurizio
Antonio ,
Thank the broblem was ( I use hbmk2 )
-ldflag=/force:multiple
-ldflag=/NODEFAULTLIB:libc

I have this warnings , are they important ?

MSVCRT.lib(MSVCR120.dll) : warning LNK4006: _memmove gi definito in LIBCMT.lib(
memmove.obj); seconda definizione ignorata
Creazione della libreria MASTROSQL.lib e dell'oggetto MASTROSQL.exp in corso.
..
LINK : warning LNK4098: la libreria predefinita 'MSVCRT' in conflitto con l'util
izzo di altre librerie; utilizzare /NODEFAULTLIB:libreria
MASTROSQL.EXE : warning LNK4088: immagine generata grazie all'opzione /FORCE; l'
immagine potrebbe non essere eseguita
------------------ Application successfully built *


Maurizio
www.nipeservice.it

Re: Bug harbour_3.2_32bits_MSVC2013_20142906

PostPosted: Mon Jul 21, 2014 10:46 am
by Antonio Linares
Maurizio,

No, they don't seem to be important.

Is the app properly working ? If yes, then its fine.