windows 10 anniversary update support in delphi · pdf filewindows 10 anniversary update...
TRANSCRIPT
![Page 1: WINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI · PDF fileWINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI Marco Cantu, RAD Studio Product Manager marco.cantu@embarcadero.com Twitter:](https://reader030.vdocuments.mx/reader030/viewer/2022012322/5a7fd0967f8b9a24668bb05a/html5/thumbnails/1.jpg)
WINDOWS10ANNIVERSARYUPDATESUPPORTINDELPHI
Marco Cantu, RAD Studio Product [email protected]: @marcocantu
![Page 2: WINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI · PDF fileWINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI Marco Cantu, RAD Studio Product Manager marco.cantu@embarcadero.com Twitter:](https://reader030.vdocuments.mx/reader030/viewer/2022012322/5a7fd0967f8b9a24668bb05a/html5/thumbnails/2.jpg)
AGENDA
§ Windows10,APIs,andUWP§ VCLFounda6onsRevisited
• What’snewintheVCLforWindows10§ UsingWinRTAPIsinDelphi§ BridgingWin32andWinRTwiththeWindowsDesktopBridge(akaCentennial)
§ What’sCookinginour“CentennialLab”
2
![Page 3: WINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI · PDF fileWINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI Marco Cantu, RAD Studio Product Manager marco.cantu@embarcadero.com Twitter:](https://reader030.vdocuments.mx/reader030/viewer/2022012322/5a7fd0967f8b9a24668bb05a/html5/thumbnails/3.jpg)
“
3
VCListhebestlibraryforWindowsdesktopdevelopmentandfullyembracesWindows10
![Page 4: WINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI · PDF fileWINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI Marco Cantu, RAD Studio Product Manager marco.cantu@embarcadero.com Twitter:](https://reader030.vdocuments.mx/reader030/viewer/2022012322/5a7fd0967f8b9a24668bb05a/html5/thumbnails/4.jpg)
4
WINDOWS10ThefastestgrowingversionofWindows
![Page 5: WINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI · PDF fileWINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI Marco Cantu, RAD Studio Product Manager marco.cantu@embarcadero.com Twitter:](https://reader030.vdocuments.mx/reader030/viewer/2022012322/5a7fd0967f8b9a24668bb05a/html5/thumbnails/5.jpg)
5
WINDOWS10,APIS,ANDUWP
§ Windows10isgePngfairlypopular• ButWindows7hass6llveryhighbusinessadop6on
§ Windows10includesthreecoreAPI• ClassicWindowsAPI(kernel,user,GDI,etc.)• WinRTAPI• Theaddi6onal.NETframeworklayer
§ UWPapps=UniversalWindowsPlaZormapps• IndicatesfirstclassWindows10applica6ons• GenerallyreservedforWinRTapps
![Page 6: WINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI · PDF fileWINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI Marco Cantu, RAD Studio Product Manager marco.cantu@embarcadero.com Twitter:](https://reader030.vdocuments.mx/reader030/viewer/2022012322/5a7fd0967f8b9a24668bb05a/html5/thumbnails/6.jpg)
VCL RTL
WINDOWSAPITIMELINE
1995
Windows NT 3.1
Win32
Interaction
![Page 7: WINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI · PDF fileWINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI Marco Cantu, RAD Studio Product Manager marco.cantu@embarcadero.com Twitter:](https://reader030.vdocuments.mx/reader030/viewer/2022012322/5a7fd0967f8b9a24668bb05a/html5/thumbnails/7.jpg)
WINDOWSAPITIMELINE
1995
Windows NT 3.1
2002 2007
Windows Vista
2012 2015
Windows XP
Win32.NET
VCLRTL
![Page 8: WINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI · PDF fileWINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI Marco Cantu, RAD Studio Product Manager marco.cantu@embarcadero.com Twitter:](https://reader030.vdocuments.mx/reader030/viewer/2022012322/5a7fd0967f8b9a24668bb05a/html5/thumbnails/8.jpg)
WINDOWSAPITIMELINE
1995
Windows NT 3.1
2002 2007
Windows Vista
2012
Windows 8
2015
Windows 10
Windows XP
Win32.NET
WinRTVCLRTL
Interaction
Interaction
Interaction
![Page 9: WINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI · PDF fileWINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI Marco Cantu, RAD Studio Product Manager marco.cantu@embarcadero.com Twitter:](https://reader030.vdocuments.mx/reader030/viewer/2022012322/5a7fd0967f8b9a24668bb05a/html5/thumbnails/9.jpg)
VCLFOUNDATIONSREVISITED
§ VCListhebestOOPcomponentlibraryencapsula6ngWinAPI• Microso^hasMFC,WinForms
§ VCLhasdeepandsmoothCOMintegra6on§ NowVCLhasfirstclasssupportforthenewWinRTAPI• CanmixandmatchwithWinAPIcode• UWP/WinRTsolu6onsrequireWin8/10,newcode
![Page 10: WINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI · PDF fileWINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI Marco Cantu, RAD Studio Product Manager marco.cantu@embarcadero.com Twitter:](https://reader030.vdocuments.mx/reader030/viewer/2022012322/5a7fd0967f8b9a24668bb05a/html5/thumbnails/10.jpg)
10
VCLANDWINDOWS10
![Page 11: WINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI · PDF fileWINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI Marco Cantu, RAD Studio Product Manager marco.cantu@embarcadero.com Twitter:](https://reader030.vdocuments.mx/reader030/viewer/2022012322/5a7fd0967f8b9a24668bb05a/html5/thumbnails/11.jpg)
WHAT’SNEWINTHEVCLFORWINDOWS10
§ Styling• Windows10specificstyles
§ NewVCLComponents• 5componentsintroducedin10Seadle• ImplementedinVCL,workalsoonWin7• LooklikeWinRTcounterparts,butnodependency
§ WinRTsupportandcomponents• RequireWin10
![Page 12: WINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI · PDF fileWINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI Marco Cantu, RAD Studio Product Manager marco.cantu@embarcadero.com Twitter:](https://reader030.vdocuments.mx/reader030/viewer/2022012322/5a7fd0967f8b9a24668bb05a/html5/thumbnails/12.jpg)
WINDOWS10VCLSTYLES
![Page 13: WINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI · PDF fileWINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI Marco Cantu, RAD Studio Product Manager marco.cantu@embarcadero.com Twitter:](https://reader030.vdocuments.mx/reader030/viewer/2022012322/5a7fd0967f8b9a24668bb05a/html5/thumbnails/13.jpg)
▪ TActivityIndicator in Vcl.WinXCtrls ▪ Similar to FMX TAniIndicator ▪ Customizable
• Three indicator types • Four sizes • Two colors • Adjustable frame delay
VCL ANIMATED ACTIVITY INDICATOR
![Page 14: WINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI · PDF fileWINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI Marco Cantu, RAD Studio Product Manager marco.cantu@embarcadero.com Twitter:](https://reader030.vdocuments.mx/reader030/viewer/2022012322/5a7fd0967f8b9a24668bb05a/html5/thumbnails/14.jpg)
▪ Controls position based on relative position
▪ Set position via ControlCollection▪ Find child control with IndexOf()▪ Or at design time use properties
• Align[xx]WithPanel:Boolean• Above:[Sibling]• Align[xx]With:[Sibling]• LeftOf:[Sibling]
VCL RELATIVE LAYOUT PANEL – TRELATIVEPANEL
http://docwiki.embarcadero.com/RADStudio/en/Using_the_Relative_Panel
![Page 15: WINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI · PDF fileWINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI Marco Cantu, RAD Studio Product Manager marco.cantu@embarcadero.com Twitter:](https://reader030.vdocuments.mx/reader030/viewer/2022012322/5a7fd0967f8b9a24668bb05a/html5/thumbnails/15.jpg)
▪ Includes search indicator ▪ Text and Audio indicators ▪ Has OnInvokeSearch event ▪ Used to manually search or filter
other controls
VCL SEARCHBOX - TSEARCHBOX
![Page 16: WINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI · PDF fileWINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI Marco Cantu, RAD Studio Product Manager marco.cantu@embarcadero.com Twitter:](https://reader030.vdocuments.mx/reader030/viewer/2022012322/5a7fd0967f8b9a24668bb05a/html5/thumbnails/16.jpg)
▪ Similar to FMX MultiView ▪ Adjustable behaviors,
placements and style ▪ Can contain any other
controls ▪ Animated expand and
collapse
VCL SPLIT VIEW – TSPLITVIEW
TSplitView
![Page 17: WINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI · PDF fileWINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI Marco Cantu, RAD Studio Product Manager marco.cantu@embarcadero.com Twitter:](https://reader030.vdocuments.mx/reader030/viewer/2022012322/5a7fd0967f8b9a24668bb05a/html5/thumbnails/17.jpg)
▪ Similar to FMX TSwitch ▪ Custom captions ▪ Custom colors ▪ Reizable elements ▪ Disabled and Read-Only ▪ PropertyState:tssOnortssOff▪ FunctionIsOn:Boolean
VCL TOGGLE SWITCH - TTOGGLESWITCH
![Page 18: WINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI · PDF fileWINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI Marco Cantu, RAD Studio Product Manager marco.cantu@embarcadero.com Twitter:](https://reader030.vdocuments.mx/reader030/viewer/2022012322/5a7fd0967f8b9a24668bb05a/html5/thumbnails/18.jpg)
WINDOWS RUNTIME IN TECH TERMS
▪ Anobject-orientedAPI▪ Asynchronous(noblocking>50ms)▪ COMbased
• Differenttypesystem,objectsconstruc6onandlife6memanagement
▪ Not.NET,notmanagedcode• ANa6veCodeAPI,compiledcode,noGC
![Page 19: WINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI · PDF fileWINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI Marco Cantu, RAD Studio Product Manager marco.cantu@embarcadero.com Twitter:](https://reader030.vdocuments.mx/reader030/viewer/2022012322/5a7fd0967f8b9a24668bb05a/html5/thumbnails/19.jpg)
THE RTL WINDOWS RUNTIME INTERFACE
▪ Helperseasecrea6onofobjects• Abstractsdealingwiththeclassfactories
▪ Over40newWinApi.*units▪ NewTWindowsStringtype
• Fornewna6veHStringtype▪ MuchlesscoderequiredtointerfacewithWinRTthanwithC#orMSVC++
![Page 20: WINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI · PDF fileWINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI Marco Cantu, RAD Studio Product Manager marco.cantu@embarcadero.com Twitter:](https://reader030.vdocuments.mx/reader030/viewer/2022012322/5a7fd0967f8b9a24668bb05a/html5/thumbnails/20.jpg)
WINDOWS RUNTIME API INTERFACES (MOSTLY FOUND IN SOURCE\RTL\WIN\WINRT FOLDER)
WinAPI.Applica6onModel.BackgroundWinAPI.Applica6onModel.CoreWinAPI.Applica6onModel.DataTransferWinAPI.Applica6onModelWinAPI.CommonTypesWinAPI.DataRTWinAPI.Devices.BluetoothWinAPI.Devices.Enumera6onWinAPI.DevicesWinAPI.Founda6on.Collec6onsWinAPI.Founda6onWinAPI.Founda6on.TypesWinAPI.GamingWinAPI.Globaliza6on
WinAPI.GraphicsRTWinAPI.ManagementWinAPI.MediaWinAPI.Networking.Connec6vityWinAPI.Networking.NetworkOperatorsWinAPI.NetworkingWinAPI.Networking.ProximityWinAPI.Networking.SocketsWinAPI.Networking.VpnWinAPI.Security.Creden6alsWinAPI.Security.CryptographyWinAPI.SecurityWinAPI.StorageWinAPI.Storage.Streams
WinAPI.SystemRTWinAPI.UI.Composi6onWinAPI.UI.CoreWinAPI.UI.Input.InkingWinAPI.UI.InputWinAPI.UI.No6fica6onsWinAPI.UIWinAPI.UI.TextWinAPI.UI.ViewManagementWinAPI.UI.WebUIWinAPI.UI.XamlWinAPI.WebRTSystem.Win.WinRT
![Page 21: WINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI · PDF fileWINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI Marco Cantu, RAD Studio Product Manager marco.cantu@embarcadero.com Twitter:](https://reader030.vdocuments.mx/reader030/viewer/2022012322/5a7fd0967f8b9a24668bb05a/html5/thumbnails/21.jpg)
LOW LEVEL WINRT CALLS
▪ ReferencedbyInterfaceforautoma6creferencecoun6ng
▪ HelperslikeTWindowsStringinSystem.Win.WinRTunit
▪ Manyclasseshavedefaultparameterlessconstructors▪ Use.Factorytoaccessotherconstructors▪ Use.Staticstoaccesssta6cmembersofclass
![Page 22: WINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI · PDF fileWINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI Marco Cantu, RAD Studio Product Manager marco.cantu@embarcadero.com Twitter:](https://reader030.vdocuments.mx/reader030/viewer/2022012322/5a7fd0967f8b9a24668bb05a/html5/thumbnails/22.jpg)
WINRTBASEDCOMPONENTS
§ ShareContracts• TSharingContract(VCL)• TShareContract(RTL)
§ No6fica6ons• hdp://community.embarcadero.com/blogs/entry/taskbar-
no6fica6on-badge-support-in-windows-10-anniversary-update
§ BluetoothLE• Star6ngwithBerlin10.1
![Page 23: WINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI · PDF fileWINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI Marco Cantu, RAD Studio Product Manager marco.cantu@embarcadero.com Twitter:](https://reader030.vdocuments.mx/reader030/viewer/2022012322/5a7fd0967f8b9a24668bb05a/html5/thumbnails/23.jpg)
23
WINDOWSDESKTOPBRIDGE(AKACENTENNIAL)
![Page 24: WINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI · PDF fileWINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI Marco Cantu, RAD Studio Product Manager marco.cantu@embarcadero.com Twitter:](https://reader030.vdocuments.mx/reader030/viewer/2022012322/5a7fd0967f8b9a24668bb05a/html5/thumbnails/24.jpg)
THEWINDOWSDESKTOPBRIDGE(AKACENTENNIAL)
§ The“bridge”packagesWin32/Win64applica6onsasUniversalWindowsPlaZormsapp• APPXinstalla6oninAnniversaryUpdate• WindowsStoregoingtobeopenedupsoon
§ Thetechnology:singleZIPfilewithen6redistribu6on,oneclickinstallanduninstall,filesystemandregistryvirtualiza6on• Mostlylikemobile,Mac
![Page 25: WINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI · PDF fileWINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI Marco Cantu, RAD Studio Product Manager marco.cantu@embarcadero.com Twitter:](https://reader030.vdocuments.mx/reader030/viewer/2022012322/5a7fd0967f8b9a24668bb05a/html5/thumbnails/25.jpg)
BUILDINGANAPPX
§ Packageappmakeappx.exe pack /f mapfile.txt /p myrssclient.appx
§ Signitwithyourcer6ficateSignTool.exe sign -f mctempcer.pfx -fd SHA256 -debug myrssclient.appx
§ Installcer6ficateonmachineCertutil -addStore TrustedPeople <testcert.cer>
§ EnableSideLoading(security,developers)
![Page 26: WINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI · PDF fileWINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI Marco Cantu, RAD Studio Product Manager marco.cantu@embarcadero.com Twitter:](https://reader030.vdocuments.mx/reader030/viewer/2022012322/5a7fd0967f8b9a24668bb05a/html5/thumbnails/26.jpg)
CROSSINGTHEBRIDGEORSTAYINGONIT?
§ Win8:verylimitedWinRTadop6on§ Microso^started“bridges”fordesktopandmobiletoincreaseappecosystem
§ Microso^tou6ngCentennialasamigra>onstep(abridgetogotoWinRT-land)• Microso^recommendedapparchitectureisdual:APPXshippingwithWin32+WinRTappcombined
![Page 27: WINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI · PDF fileWINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI Marco Cantu, RAD Studio Product Manager marco.cantu@embarcadero.com Twitter:](https://reader030.vdocuments.mx/reader030/viewer/2022012322/5a7fd0967f8b9a24668bb05a/html5/thumbnails/27.jpg)
WINDOWSSTORE
§ Distribu6ononWindowsstorelikelyagamechangerfortheplaZorm• Notimmediate,onlyWindows10Anniversaryclientswillbesupported
• Parallelenterprisedistribu6on• S6llnotavailable…tothepublic
![Page 28: WINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI · PDF fileWINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI Marco Cantu, RAD Studio Product Manager marco.cantu@embarcadero.com Twitter:](https://reader030.vdocuments.mx/reader030/viewer/2022012322/5a7fd0967f8b9a24668bb05a/html5/thumbnails/28.jpg)
28
WHAT’SCOMING
![Page 29: WINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI · PDF fileWINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI Marco Cantu, RAD Studio Product Manager marco.cantu@embarcadero.com Twitter:](https://reader030.vdocuments.mx/reader030/viewer/2022012322/5a7fd0967f8b9a24668bb05a/html5/thumbnails/29.jpg)
WHAT’SCOOKINGINOUR“UPDATE2LAB”
§ NewVCLCalendarcontrol• Addi6onalWinRTlook-alikecontrolimplementedinna6veVCL
§ IDE-basedWindowsStoredeploymentsupport• APPXgenera6on,likeformobileplaZorms• Packagesallassets,run6mepackages,DBDLLs…• WillrequireWin10SDKforpackagingandcodesigning
![Page 30: WINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI · PDF fileWINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI Marco Cantu, RAD Studio Product Manager marco.cantu@embarcadero.com Twitter:](https://reader030.vdocuments.mx/reader030/viewer/2022012322/5a7fd0967f8b9a24668bb05a/html5/thumbnails/30.jpg)
NEWCALENDARCONTROL
![Page 31: WINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI · PDF fileWINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI Marco Cantu, RAD Studio Product Manager marco.cantu@embarcadero.com Twitter:](https://reader030.vdocuments.mx/reader030/viewer/2022012322/5a7fd0967f8b9a24668bb05a/html5/thumbnails/31.jpg)
FURTHER,GENERALVCLPLANS
§ Addi6onalWin10look-alikeVCLcontrols• ButalsosomeextraVCLcontrols,notWin10related
§ (Unrelated)ImprovementsinVCLdesigners§ VCLQualityfocus
![Page 32: WINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI · PDF fileWINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI Marco Cantu, RAD Studio Product Manager marco.cantu@embarcadero.com Twitter:](https://reader030.vdocuments.mx/reader030/viewer/2022012322/5a7fd0967f8b9a24668bb05a/html5/thumbnails/32.jpg)
SUMMARY: VCL, FMX AND WINDOWS 10
▪ Microso^makingWin32/64firstclass,again▪ VCLremainsthebestWindowsclientlibrary• EnhancedwithWindows10UIcontrolsandWinRTAPIsandcomponents
• FireMonkeyalsoenjoysthissupport,morefocusedoncross-plaZormrequirements
▪ EmbarcaderocommidedtokeepDelphifocusedonthe(evolving)Windows10plaZorm
32
![Page 33: WINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI · PDF fileWINDOWS 10 ANNIVERSARY UPDATE SUPPORT IN DELPHI Marco Cantu, RAD Studio Product Manager marco.cantu@embarcadero.com Twitter:](https://reader030.vdocuments.mx/reader030/viewer/2022012322/5a7fd0967f8b9a24668bb05a/html5/thumbnails/33.jpg)
WHATABOUTGETTINGREADYBYBUYINGTODAY?
§ Special10%“Update1”discount*§ BuyDelphiProfessional,receiveMobileAdd-OnPackforfree*
§ BonuspackwithKonopkacontrols,RadiantShapes,ObjectPascalHandbook*
§ *Validun6lSeptember30th