Primera app real de Windows 8 Metro desde FWH !!!

Primera app real de Windows 8 Metro desde FWH !!!

Postby Antonio Linares » Thu Mar 29, 2012 12:24 pm

Primera ventana real de Windows 8 Metro usando el API WinRT desde FWH y Harbour !!! :-)

Image
regards, saludos

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

Re: Primera app real de Windows 8 Metro desde FWH !!!

Postby Antonio Linares » Thu Mar 29, 2012 12:35 pm

Como curiosidad, aqui teneis el IID_IApplication de Metro que aún no está en ninguna parte en Google :-)

Code: Select all  Expand view
static const IID IID_IApplication =
{
   0x74B861A1, 0x7487, 0x46A9,
   { 0x9A, 0x6E, 0xC7, 0x8B, 0x51, 0x27, 0x26, 0xC5 }
}


Asi que Google, indéxalo :-)
regards, saludos

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

Re: Primera app real de Windows 8 Metro desde FWH !!!

Postby norberto » Thu Mar 29, 2012 2:01 pm

Antonio, congratulations! great.
norberto
 
Posts: 566
Joined: Thu Aug 30, 2007 3:40 pm
Location: BR

Re: Primera app real de Windows 8 Metro desde FWH !!!

Postby Antonio Linares » Thu Mar 29, 2012 5:36 pm

Para construir aplicaciones que usen el API WinRT de Windows 8, necesitamos enlazar combase.lib. Windows 8 proporciona combase.dll, y podemos extraer combase.def de esta forma:

impdef.exe combase.def combase.dll

Para construir la lib: (si usamos Borland)

implib.exe combase.lib combase.dll

Si usamos Microsoft C/C++:

lib.exe /DEF:combase.def /OUT:combase.lib
regards, saludos

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

Re: Primera app real de Windows 8 Metro desde FWH !!!

Postby Antonio Linares » Thu Mar 29, 2012 5:45 pm

Google ya indexó IID_IApplication, vayamos ahora a por IID_IApplicationFactory :-)

Code: Select all  Expand view

static const IID IID_IApplicationFactory =
{
   0x93BBE361, 0xBE5A, 0x4EE3,
   { 0xB4, 0xA3, 0x95, 0x11, 0x8D, 0xC9, 0x7A, 0x89 }
};
 
regards, saludos

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

Re: Primera app real de Windows 8 Metro desde FWH !!!

Postby Hernan Diego Ceccarelli » Fri Mar 30, 2012 2:46 pm

Muy bueno :-) Se puede usar la vieja API convencional tambien, pero, la metro habra que codificarla de manera especial Antonio ? Esa parte no la entiendo.(tampoco he investigado xD) :shock:
User avatar
Hernan Diego Ceccarelli
 
Posts: 84
Joined: Fri Oct 07, 2005 4:51 pm
Location: Rosario - Santa Fe - Argentina

Re: Primera app real de Windows 8 Metro desde FWH !!!

Postby Antonio Linares » Fri Mar 30, 2012 3:05 pm

Hernan,

La información que Microsoft ha ofrecido como "oficial" en realidad no es del todo cierta... :-)

El API Win32 sigue ahi, y posiblemente siga por mucho tiempo, y de hecho el API WinRT se basa en él (esto es lo que no reconoce MS). WinRT es una evolución del modelo COM (OLE) de forma que ahora se puede tener una pseudo-herencia de clases y se han corregido deficiencias del modelo OLE anterior.

WinRT introduce un nuevo interface llamado IInspectable derivado de IUnknown. Cuando descubrí esto, lo primero que se me vino a la cabeza fué la idea de usar objetos OLE pero usando el puntero del IInspectable, pero... han quitado IIDispatch. Lo que han hecho es implementarlo forma "nativa" para que no sea lento. Asi que no "preguntan", sino que directamente se "salta" a los métodos (siempre que se pueda).

Bueno, resumiendo, en principio en las pruebas que hemos hecho, sí se puede acceder al API de Win32 :-), pero todo esto es provisional, y de hecho es algo que Microsoft podría bloquear. Hay que pensar que escribir un Windows nuevo desde cero sería una "locura" pues tendría muchos bugs hasta que se depurase, asi que es lógico que sigan basándose en Win32, y de paso ver la aceptación que tiene lo "nuevo" :-)
regards, saludos

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

Re: Primera app real de Windows 8 Metro desde FWH !!!

Postby thefull » Fri Mar 30, 2012 4:12 pm

Desconocía todo sobre WinRT, ni idea, pero dejo un link sobre ello ;-)
http://geeks.ms/blogs/rfog/archive/2011 ... lo-es.aspx
Saludos
Rafa Carmona ( rafa.thefullARROBAgmail.com___quitalineas__)
User avatar
thefull
 
Posts: 729
Joined: Fri Oct 07, 2005 7:42 am
Location: Barcelona

Re: Primera app real de Windows 8 Metro desde FWH !!!

Postby lucasdebeltran » Fri Mar 30, 2012 4:57 pm

Antonio,

Muchas gracias por estar siempre al día.

Una aplicación de Windows 8 metro, ¿también se prodrá ejecutar en Windows phone?.

Salu2
Muchas gracias. Many thanks.

Un saludo, Best regards,

Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producción]

Implementando MSVC 2010, FWH64 y ADO.

Abandonando uso xHarbour y SQLRDD.
User avatar
lucasdebeltran
 
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am

Re: Primera app real de Windows 8 Metro desde FWH !!!

Postby Antonio Linares » Fri Mar 30, 2012 5:47 pm

Lucas,

Se supone que si, pero aun no lo hemos probado ni hemos sabido de alguien que lo haya hecho :-)
regards, saludos

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

Re: Primera app real de Windows 8 Metro desde FWH !!!

Postby Antonio Linares » Mon Apr 02, 2012 8:57 pm

Documentación para acceder via COM al Win32 desde WinRT:

http://msdn.microsoft.com/en-us/library/windows/apps/br205757
regards, saludos

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

Re: Primera app real de Windows 8 Metro desde FWH !!!

Postby nanoespinoza » Tue Jun 05, 2018 3:39 pm

Antonio Linares wrote:Para construir aplicaciones que usen el API WinRT de Windows 8, necesitamos enlazar combase.lib. Windows 8 proporciona combase.dll, y podemos extraer combase.def de esta forma:

impdef.exe combase.def combase.dll

Para construir la lib: (si usamos Borland)

implib.exe combase.lib combase.dll

Si usamos Microsoft C/C++:

lib.exe /DEF:combase.def /OUT:combase.lib


Estimado Antonio

Tengo una aplicación creada con FW1708 la cual al intentar ejecutarse en Windows 7, intenta cargarse, pero muestra el mensaje "Error cargando COMBASE.DLL" y se cuelga. De lo que revisé esta DLL existe a partir de Windows 8.

Compilé la aplicación agregando esa .DLL; pero el mensaje de error me sigue apareciendo y necesito resolverlo, ya que todavía algunos usuarios tienen Win 7.

Al revisar que uso de especial en mi aplicación solo encuentro esto definido al inicio del programa:
SetBalloon(.T.) // para que los tooltip tengan forma de balón
SetResDebug(.T.)
SetGetColorFocus(CLR_PALEGREEN) // el color de los get al tener el focus
SetCbxColorFocus(CLR_LGREEN)
SkinButtons() // permite los botones nativos con otros colores
TGet():lDisColors := .F.
TGet():nClrTextDis := CLR_BLUE
TGet():nClrPaneDis := CLR_YELLOW2

Algo de esto hace obligatorio el uso de COMBASE.DLL o me puede indicar que puede cambiar para no requerir esa .DLL en Win7?

Saludos

Fernando Espinoza A.
nanoespinoza
 
Posts: 135
Joined: Thu Mar 16, 2017 4:08 pm
Location: Ecuador

Re: Primera app real de Windows 8 Metro desde FWH !!!

Postby Antonio Linares » Wed Jun 06, 2018 9:00 am

Fernando,

Por favor inspecciona tu EXE con esta utilidad:

https://bitbucket.org/fivetech/fivewin-contributions/downloads/peinfo.exe

y ahi podrás ver exactamente que funciones de cada DLL se están usando
regards, saludos

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

Re: Primera app real de Windows 8 Metro desde FWH !!!

Postby nanoespinoza » Wed Jun 06, 2018 2:43 pm

Estimado Antonio:

Ejecuté la aplicación PEInfo, en el resumen que aparece en formato HTML en la sección IMPORTS aparece un resumen de las DLL, pero ahí no consta COMBASE.DLL.

Code: Select all  Expand view

IMPORTS
 Linker producer: Borland

Imports from: C:\Windows\SYSTEM32\advapi32.dll

Image Import Descriptor

 Original First Thunk:   0   $0   %0  
 Time/Date Stamp:   0   $0   %0  
 Forwarder Chain:   0   $0   %0  
 Name:   4835392   $49C840   %10010011100100001000000  
 First Thunk:   4835260   $49C7BC   %10010011100011110111100  

 No

 Hint

 Ordinal

  Name

1.  -   -   RegCloseKey  


Imports from: C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.10586.839_none_ea8af107b9b5cbb4\comctl32.dll

Image Import Descriptor

 Original First Thunk:   0   $0   %0  
 Time/Date Stamp:   0   $0   %0  
 Forwarder Chain:   0   $0   %0  
 Name:   4835405   $49C84D   %10010011100100001001101  
 First Thunk:   4835268   $49C7C4   %10010011100011111000100  

 No

 Hint

 Ordinal

  Name

1.  -   $11    


Imports from: C:\Windows\SYSTEM32\comdlg32.dll

Image Import Descriptor

 Original First Thunk:   0   $0   %0  
 Time/Date Stamp:   0   $0   %0  
 Forwarder Chain:   0   $0   %0  
 Name:   4835418   $49C85A   %10010011100100001011010  
 First Thunk:   4835276   $49C7CC   %10010011100011111001100  

 No

 Hint

 Ordinal

  Name

1.  -   -   FindTextA  


Imports from: C:\Windows\SYSTEM32\gdi32.dll

Image Import Descriptor

 Original First Thunk:   0   $0   %0  
 Time/Date Stamp:   0   $0   %0  
 Forwarder Chain:   0   $0   %0  
 Name:   4835431   $49C867   %10010011100100001100111  
 First Thunk:   4835284   $49C7D4   %10010011100011111010100  

 No

 Hint

 Ordinal

  Name

1.  -   -   Arc  


Imports from: C:\Windows\WinSxS\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.10586.1106_none_db441c35bc7e4e5e\gdiplus.dll

Image Import Descriptor

 Original First Thunk:   0   $0   %0  
 Time/Date Stamp:   0   $0   %0  
 Forwarder Chain:   0   $0   %0  
 Name:   4835441   $49C871   %10010011100100001110001  
 First Thunk:   4835292   $49C7DC   %10010011100011111011100  

 No

 Hint

 Ordinal

  Name

1.  -   -   GdipFree  


Imports from: C:\Windows\SYSTEM32\kernel32.dll

Image Import Descriptor

 Original First Thunk:   0   $0   %0  
 Time/Date Stamp:   0   $0   %0  
 Forwarder Chain:   0   $0   %0  
 Name:   4835453   $49C87D   %10010011100100001111101  
 First Thunk:   4835300   $49C7E4   %10010011100011111100100  

 No

 Hint

 Ordinal

  Name

1.  -   -   LoadLibraryA  
2.  -   -   ExitProcess  
3.  -   -   GetProcAddress  
4.  -   -   VirtualProtect  


Imports from: C:\Windows\SYSTEM32\msimg32.dll

Image Import Descriptor

 Original First Thunk:   0   $0   %0  
 Time/Date Stamp:   0   $0   %0  
 Forwarder Chain:   0   $0   %0  
 Name:   4835466   $49C88A   %10010011100100010001010  
 First Thunk:   4835320   $49C7F8   %10010011100011111111000  

 No

 Hint

 Ordinal

  Name

1.  -   -   AlphaBlend  


Imports from: C:\Windows\SYSTEM32\ole32.dll

Image Import Descriptor

 Original First Thunk:   0   $0   %0  
 Time/Date Stamp:   0   $0   %0  
 Forwarder Chain:   0   $0   %0  
 Name:   4835478   $49C896   %10010011100100010010110  
 First Thunk:   4835328   $49C800   %10010011100100000000000  

 No

 Hint

 Ordinal

  Name

1.  -   -   CoInitialize  


Imports from: C:\Windows\SYSTEM32\oleaut32.dll

Image Import Descriptor

 Original First Thunk:   0   $0   %0  
 Time/Date Stamp:   0   $0   %0  
 Forwarder Chain:   0   $0   %0  
 Name:   4835488   $49C8A0   %10010011100100010100000  
 First Thunk:   4835336   $49C808   %10010011100100000001000  

 No

 Hint

 Ordinal

  Name

1.  -   $8    


Imports from: C:\Windows\SYSTEM32\oledlg.dll

Image Import Descriptor

 Original First Thunk:   0   $0   %0  
 Time/Date Stamp:   0   $0   %0  
 Forwarder Chain:   0   $0   %0  
 Name:   4835501   $49C8AD   %10010011100100010101101  
 First Thunk:   4835344   $49C810   %10010011100100000010000  

 No

 Hint

 Ordinal

  Name

1.  -   $4    


Imports from: C:\Windows\SYSTEM32\shell32.dll

Image Import Descriptor

 Original First Thunk:   0   $0   %0  
 Time/Date Stamp:   0   $0   %0  
 Forwarder Chain:   0   $0   %0  
 Name:   4835512   $49C8B8   %10010011100100010111000  
 First Thunk:   4835352   $49C818   %10010011100100000011000  

 No

 Hint

 Ordinal

  Name

1.  -   -   ShellAboutA  


Imports from: C:\Windows\SYSTEM32\user32.dll

Image Import Descriptor

 Original First Thunk:   0   $0   %0  
 Time/Date Stamp:   0   $0   %0  
 Forwarder Chain:   0   $0   %0  
 Name:   4835524   $49C8C4   %10010011100100011000100  
 First Thunk:   4835360   $49C820   %10010011100100000100000  

 No

 Hint

 Ordinal

  Name

1.  -   -   GetDC  


Imports from: C:\Windows\SYSTEM32\version.dll

Image Import Descriptor

 Original First Thunk:   0   $0   %0  
 Time/Date Stamp:   0   $0   %0  
 Forwarder Chain:   0   $0   %0  
 Name:   4835535   $49C8CF   %10010011100100011001111  
 First Thunk:   4835368   $49C828   %10010011100100000101000  

 No

 Hint

 Ordinal

  Name

1.  -   -   VerQueryValueA  


Imports from: C:\Windows\SYSTEM32\winmm.dll

Image Import Descriptor

 Original First Thunk:   0   $0   %0  
 Time/Date Stamp:   0   $0   %0  
 Forwarder Chain:   0   $0   %0  
 Name:   4835547   $49C8DB   %10010011100100011011011  
 First Thunk:   4835376   $49C830   %10010011100100000110000  

 No

 Hint

 Ordinal

  Name

1.  -   -   waveOutOpen  


Imports from: C:\Windows\SYSTEM32\winspool.drv

Image Import Descriptor

 Original First Thunk:   0   $0   %0  
 Time/Date Stamp:   0   $0   %0  
 Forwarder Chain:   0   $0   %0  
 Name:   4835557   $49C8E5   %10010011100100011100101  
 First Thunk:   4835384   $49C838   %10010011100100000111000  

 No

 Hint

 Ordinal

  Name

1.  -   -   GetPrinterA  

 


Saludos

Fernando Espinoza A.
nanoespinoza
 
Posts: 135
Joined: Thu Mar 16, 2017 4:08 pm
Location: Ecuador

Re: Primera app real de Windows 8 Metro desde FWH !!!

Postby Antonio Linares » Thu Jun 07, 2018 5:56 am

Fernando,

Usas algún ActiveX ó algún objeto OLE en tu aplicación ?
regards, saludos

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

Next

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 90 guests