FiveWin para WinRT (Windows 8 UI moderno)

Re: FiveWin para WinRT (Windows 8 UI moderno)

Postby Antonio Mart. » Fri Apr 05, 2013 11:01 am

Qué vergüenza :oops: :oops: :oops: :oops: :oops:

Tú molestandote en hacernos tutoriales y yo preguntando lo explicado. Lo siento.


Oye... una cosa... me pareció que tu ya usabas versiones anteriores de Visual Studio para desarrollo de FiveWin o era otro entorno ? A ver si esta tiene más sentido. Lo pregunto por curiosidad de saber si la integración de Visual Studio-harbour-fivewin ya era posible antes o es novedad.
Antonio Mart.
 
Posts: 174
Joined: Sat Feb 23, 2013 10:04 am

Re: FiveWin para WinRT (Windows 8 UI moderno)

Postby Antonio Linares » Fri Apr 05, 2013 12:19 pm

No hay problema, por eso insisto en que se visiten esas páginas en las que estoy detallando todo el proceso, paso a paso :-)

Nosotros nunca hemos usado Visual Studio para construir FiveWin, principalmente porque a mi no me gustan los IDEs, me parecen muy limitadores pese a la comodidad que puedan ofrecer. Lo que ocurre es que a partir de que probamos Harbour en el xcode de Apple, y en el IDE de Android, comprendimos que la mejor forma de incorporar Harbour a estos entornos, es adaptándonos a sus herramientas de desarrollo, de aqui que hayamos investigado como construir Harbour desde Visual Studio 2012 con la finalidad de poder construir aplicaciones para WinRT desde Visual Studio 2012 tambien :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42080
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: FiveWin para WinRT (Windows 8 UI moderno)

Postby Antonio Mart. » Fri Apr 05, 2013 6:41 pm

Muchas gracias.

BTW, hay un hilo llamado "Hilo C++", incorporado al SDK de Microsoft, donde parece que van poniendo ejemplos completitos de programacion Visual C++ sobre W8. Una pena que petzold se equivocara, a mi modo de ver, al revisar su windows programming en pragma.
http://code.msdn.microsoft.com/windowsa ... e-b53fd433
Antonio Mart.
 
Posts: 174
Joined: Sat Feb 23, 2013 10:04 am

Re: FiveWin para WinRT (Windows 8 UI moderno)

Postby cnavarro » Sat Apr 06, 2013 6:30 pm



Según el proyecto que adjuntas en tus explicaciones
Al Compilar obtengo lo siguiente:
Code: Select all  Expand view

Error   1   error C2081: 'LPMODULEENTRY32' : el nombre de la lista de parámetros formales no es válido    c:\harb\src\vm\extrap.c 376 1   Harbour
Error   2   error C2081: 'LPMODULEENTRY32' : el nombre de la lista de parámetros formales no es válido    c:\harb\src\vm\extrap.c 377 1   Harbour
Advertencia 3   warning C4047: 'función' : 'int' es distinto en los niveles de direccionamiento indirecto de 'MODULEENTRY32 *' c:\harb\src\vm\extrap.c 398 1   Harbour
Advertencia 4   warning C4024: 'pModule32First' : tipos distintos para el parámetro formal y el parámetro real 2  c:\harb\src\vm\extrap.c 398 1   Harbour
Advertencia 5   warning C4133: 'función' : tipos incompatibles, de 'TCHAR [260]' a 'const char *'  c:\harb\src\vm\extrap.c 414 1   Harbour
Advertencia 6   warning C4047: 'función' : 'int' es distinto en los niveles de direccionamiento indirecto de 'MODULEENTRY32 *' c:\harb\src\vm\extrap.c 420 1   Harbour
Advertencia 7   warning C4024: 'pModule32Next' : tipos distintos para el parámetro formal y el parámetro real 2   c:\harb\src\vm\extrap.c 420 1   Harbour
    8   IntelliSense: el identificador "LPMODULEENTRY32" no está definido  c:\Harb\src\vm\extrap.c 376 52  Harbour
    9   IntelliSense: el identificador "LPMODULEENTRY32" no está definido  c:\Harb\src\vm\extrap.c 377 52  Harbour
    10  IntelliSense: un argumento de tipo "TCHAR *" no es compatible con un parámetro de tipo "const char *"  c:\Harb\src\vm\extrap.c 414 47  Harbour
 


He cambiado el fichero windows.h tal y como explicas y colocado el fichero win32.h en la misma carpeta que está windows.h
Alguna sugerencia?
Gracias
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6541
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: FiveWin para WinRT (Windows 8 UI moderno)

Postby Antonio Linares » Sun Apr 07, 2013 7:23 am

Cristobal,

Tienes que cambiar LPMODULEENTRY32 por char * en c:\harb\src\vm\extrap.c

Es debido a un hack que Viktor tiene hecho ahi y que no le gusta al Visual Studio :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42080
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: FiveWin para WinRT (Windows 8 UI moderno)

Postby cnavarro » Sun Apr 07, 2013 9:30 am

Antonio Linares wrote:Cristobal,

Tienes que cambiar LPMODULEENTRY32 por char * en c:\harb\src\vm\extrap.c

Es debido a un hack que Viktor tiene hecho ahi y que no le gusta al Visual Studio :-)


Antonio, mis conocimientos de C, son básicos
Entiendo que el problema está en el tipo de definición de la función ¿?
Exactamente dónde he de cambiar?
En las lineas 376 y 377
typedef BOOL ( WINAPI * P_M32F )( HANDLE, LPMODULEENTRY32 ); /* Module32First() */
typedef BOOL ( WINAPI * P_M32N )( HANDLE, LPMODULEENTRY32 ); /* Module32Next() */
Si cambio el BOOL por CHAR * no funciona y me da errores, y si cambio HANDLE igual
Un saludo
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6541
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: FiveWin para WinRT (Windows 8 UI moderno)

Postby cnavarro » Mon Apr 08, 2013 9:52 pm

Antonio, ahora obtengo lo siguiente:

Code: Select all  Expand view

1>c:\harb\src\vm\extrap.c(398): warning C4133: 'función' : tipos incompatibles, de 'MODULEENTRY32 *' a 'CHAR *'
1>c:\harb\src\vm\extrap.c(414): warning C4133: 'función' : tipos incompatibles, de 'TCHAR [260]' a 'const char *'
1>c:\harb\src\vm\extrap.c(420): warning C4133: 'función' : tipos incompatibles, de 'MODULEENTRY32 *' a 'CHAR *'
1>c:\harb\src\vm\maindllh.c(72): warning C4007: 'DllMain' : debe ser '__stdcall'
1>  Harbour_LibRtl.vcxproj -> C:\Users\C\Documents\Visual Studio 2012\Projects\Harbour_LibRtl\Debug\Harbour_LibRtl\Harbour.lib
========== Recompilar todo: 1 correctos, 0 incorrectos, 0 omitidos ==========
 


La libreria la crea pero con los warning anteriores.
No se pueden solucionar?
Gracias
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6541
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: FiveWin para WinRT (Windows 8 UI moderno)

Postby Antonio Linares » Tue Apr 09, 2013 11:25 am

Cristobal,

typedef BOOL ( WINAPI * P_M32F )( HANDLE, LPMODULEENTRY32 );

quedaría como:

typedef BOOL ( WINAPI * P_M32F )( HANDLE, char * );

Ya has conseguido construir la librería, muy bien :-)

El warning:
1>c:\harb\src\vm\maindllh.c(72): warning C4007: 'DllMain' : debe ser '__stdcall'

podemos solucionarlo quitando ese fichero maindllh.c del proyecto, ya que no vamos a construir una DLL. Pruebalo :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42080
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: FiveWin para WinRT (Windows 8 UI moderno)

Postby cnavarro » Tue Apr 09, 2013 2:48 pm

Antonio, gracias

Ya habia puesto lo que comentas: typedef BOOL ( WINAPI * P_M32F )( HANDLE, char * );
obteniendo el warning comentado
Lo he sustituido por: typedef BOOL ( WINAPI * P_M32F )( HANDLE, HANDLE );
obteniendo unicamente el warning:
c:\harb\src\vm\extrap.c(414): warning C4133: 'función' : tipos incompatibles, de 'TCHAR [260]' a 'const char *'

Linea 414:
hb_strncpy( szBuffer, me32.szExePath, HB_SIZEOFARRAY( szBuffer ) - 1 );

Gracias de nuevo
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6541
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: FiveWin para WinRT (Windows 8 UI moderno)

Postby Antonio Linares » Tue Apr 09, 2013 2:56 pm

Cristobal,

Con estos cambios elimino todos los warnings de compilación de ese fichero:

typedef BOOL ( WINAPI * P_M32F )( HANDLE, const char * ); /* Module32First() */
typedef BOOL ( WINAPI * P_M32N )( HANDLE, const char * ); /* Module32Next() */

...

línea 400:
if( pModule32First( hModuleSnap, ( char * ) &me32 ) )


línea 416:
hb_strncpy( szBuffer, ( char * ) me32.szExePath, HB_SIZEOFARRAY( szBuffer ) - 1 );


línea 422:
while( pModule32Next( hModuleSnap, ( const char * ) &me32 ) );
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42080
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: FiveWin para WinRT (Windows 8 UI moderno)

Postby cnavarro » Tue Apr 09, 2013 3:10 pm

Antonio, perfecto

Ahora a estudiar

Mil gracias por todo
Un saludo
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6541
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: FiveWin para WinRT (Windows 8 UI moderno)

Postby Antonio Mart. » Wed Apr 10, 2013 2:15 pm

Cristóbal,

Me dejaste un poco intrigado con eso de "ahora a estudiar". ¿ A estudiar qué y dónde ?

(Por si puede servir pongo aquí un link http://blogs.microsoft.co.il/blogs/pavely/)

Saludos
Antonio Mart.
 
Posts: 174
Joined: Sat Feb 23, 2013 10:04 am

Re: FiveWin para WinRT (Windows 8 UI moderno)

Postby Antonio Linares » Wed Apr 10, 2013 5:31 pm

Antonio,

Siguiendo las indicaciones (paso a paso) que estoy publicando en el wiki de FiveWinRT:

https://code.google.com/p/fivewinrt/wiki/How_to_build_Harbour_for_WinRT

se puede ir comprendiendo, y practicando, la forma de usar Harbour en Windows 8 WinRT :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42080
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: FiveWin para WinRT (Windows 8 UI moderno)

Postby Antonio Mart. » Wed Apr 10, 2013 8:22 pm

Antonio,

Pensé que eso ya lo había hecho Cristobal al haber montado harbour y pensé que por ahí iba más o menos vuestro tutorial. :( :D

Saludos
Antonio Mart.
 
Posts: 174
Joined: Sat Feb 23, 2013 10:04 am

Re: FiveWin para WinRT (Windows 8 UI moderno)

Postby Antonio Linares » Wed Apr 10, 2013 9:07 pm

Hoy he publicado tutor01.prg y funciona! :-)

Con algunos problemas aún pendientes de solucionar (por cambios recientes en Harbour), pero ya medio arranca bien :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42080
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

PreviousNext

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 55 guests