From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Received: by 2002:a5d:9616:: with SMTP id w22mr9870483iol.40.1557560463943; Sat, 11 May 2019 00:41:03 -0700 (PDT) X-Received: by 2002:aca:6702:: with SMTP id z2mr974054oix.99.1557560463636; Sat, 11 May 2019 00:41:03 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!feeder.eternal-september.org!news.gegeweb.eu!gegeweb.org!usenet-fr.net!proxad.net!feeder1-2.proxad.net!209.85.166.216.MISMATCH!136no306468itk.0!news-out.google.com!v189ni338itv.0!nntp.google.com!b2no305613itd.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Sat, 11 May 2019 00:41:03 -0700 (PDT) In-Reply-To: <3bb6aa53-af56-41d5-a53b-30a47009cbb6@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=101.164.108.182; posting-account=wavAeAoAAAAZF_sXSZepBukuPCBO0Zqt NNTP-Posting-Host: 101.164.108.182 References: <50adfe1e-7bee-4048-8523-1b41bd0c9fe3@googlegroups.com> <2569c28e-ccde-4f39-87c9-8799973ecdba@googlegroups.com> <302b73dc-7b45-4b40-9fc8-328498bc264b@googlegroups.com> <42d78678-874f-478c-a627-78219830acfe@googlegroups.com> <0ae11fcc-f151-41fb-a578-af5cd53e371c@googlegroups.com> <3bb6aa53-af56-41d5-a53b-30a47009cbb6@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <14b68187-1ddf-4233-b274-56f446f4951d@googlegroups.com> Subject: Re: ANN: VisualAda (Ada Integration for Visual Studio 2017 & 2019) release 1.2.0 From: alby.gamper@gmail.com Injection-Date: Sat, 11 May 2019 07:41:03 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: reader01.eternal-september.org comp.lang.ada:56290 Date: 2019-05-11T00:41:03-07:00 List-Id: On Saturday, May 11, 2019 at 12:40:37 AM UTC+10, Optikos wrote: > On Friday, May 10, 2019 at 7:08:30 AM UTC-5, alby....@gmail.com wrote: > > On Thursday, May 9, 2019 at 7:20:14 AM UTC+10, Greg wrote: > > > Alex, sorry, been hammered with deadlines and too tired at night to e= ven look at a screen. > > >=20 > > > 1) and 2) would go a long way to helping others starting down this pa= th, and that's the point, at least from my perspective. Everyone talks abou= t promoting the language, and to me, this is one of the more outstanding wa= ys I've seen. > > >=20 > > > 3) I can't believe you can't set dependencies as you say, but who kno= ws, you might be right. If not, a mention in the README should certainly be= sufficient. > > >=20 > > > 4) Figured something like that. > > >=20 > > > 5) I did monkey around with changing the target runtimes myself to mo= re recent ones, but didn't seem to make much difference, but defaulting to = more recent ones is definitely the way to go. > > >=20 > > > I guess just emphasizing that you HAVE to build THIS and THIS first (= the WinRT stuff) before using Visual Ada, you know, step A, B, and C - as y= ou said, would help a lot.=20 > > >=20 > > > I suppose I could start doing PRs for documentation suggestions or ot= her issues of course, on the WinRT stuff. When/if VisualAda goes to GitHub,= same thing. > > >=20 > > > I'm just having fun doing this, and hey, anything I can do to help. I= have absolutely no need for GtkAda, and doing a Windows app in Ada is stil= l to me mind-blowing. > > >=20 > > > I did try to build a UWP DLL the other day and ran into an error, can= 't remember what it was exactly, but when I get a chance, I'll pass along t= he details. > > >=20 > > > I strongly suspect deploying a VisualAda UWP app to Xbox WILL work, j= ust haven't had the chance to set it up yet. But will soon. > > >=20 > > > Again, thanks for all of this incredible work, > > > Greg > >=20 > > Hi Greg > >=20 > > I apologise, I actually missed this post (and replied to you later post= without > > seeing this one). So in response to your points, which are very much ap= preciated > >=20 > > 1) and 2) I have already posted some changes to the GitHub readme's for= both > > winrt_runtime and winrt project to reflect the dependencies and additio= nal info. > > PR's are very welcome for the documentation, But bear in mind that the = winrt > > source code is generated of the back of the winmd metadata, so changes = to the > > bindings need to be generic!. I am happy to accept PR's for winrt_runti= me. > >=20 > > BTW, Thanks for your comment's regarding my work, I in part embarked on= this > > journey. because I saw a need to promote Ada outside of its traditional= use > > case in the safety critical/embedded/Realtime markets and I always cons= idered > > Ada as a general purpose language applicable to any environment. To thi= s end I > > saw that providing bindings to Win32, WinRT and providing "Visual Studi= o" > > integration would encourage young graduates / IT professionals to at le= ast be > > given the tools to develop great Ada applications in a familiar develop= ment IDE > > and lets face it, MS does have an impact (be it free or other wise) on = the > > choice of what IDE is used within an IT shop. > >=20 > > 3) I have done some more research (ie googling) and may have found a wo= rkaround > > to being able to set project dependencies for VS solutions with multipl= e > > projects, have a look in your spare time :-) TL:DR > >=20 > > https://blog.tonysneed.com/2011/09/14/build-a-multi-project-visual-stud= io-template/ > >=20 > > 4) and 5) I have as yet not had a chance to look at this in detail yet,= will > > do this over the weekend, while looking at the packaging/install issue = with > > VisualAda. > >=20 > > On a side note: what's your thoughts on the following idea's > >=20 > > a) Use Nuget to install/reference the WinRT dependencies. But this does= mean > > that each UWP app has its own copy of the WinRT dependencies. Not ideal= in my > > view (unless of course you are diligent and update your refences regula= rly) and > > definably / probably NOT workable in a very disciplined IT environment. >=20 > This is the practice in place for all nugets. It is not as unwise as it = first appears. This practice allows a decoupling of each project so that d= ifferent projects can update to different nuget dependencies as that projec= t sees fit internally. If not on a per-project basis for what that project= /executable/library needs for its own internal needs, then on what basis? > 1) one size fits all projects resident on some developer's individual Win= dows 10 computer? > 2) one size fits all across all developers in a software-development depa= rtment? > 3) one size fits all across an IT department (or per-.NET-programming-lan= guage coding-standards culture) serving multiple software-development depar= tments? > 4) one size fits all across a campus? > 5) one size fits all across all campuses of an entire corporation? > 6) one size fits all across the entire universe of all corporations? >=20 > Or in fewer words, there is a method to Microsoft's madness. :-)=20 >=20 > > b) I am not sure that a UWP app can be distributed with a "native DLL" = via > > Windows Store (as opposed to statically linking to a LIB). If it cant, = do you > > see any value in keeping the "UWP DLL" template ? Note that apps that a= re side > > loaded (ie within a corporate env and NOT distributed via the Windows S= tore) are > > not under the same restriction >=20 > Although I have not personally distributed a UWP app that contains a Win3= 2 or WoW DLL (that obeys the subset-of-the-Win32-API restrictions) in the M= icrosoft Store, it appears to be permitted, if enough requisites are satisf= ied: > https://social.msdn.microsoft.com/forums/windowsapps/en-us/c5636e14-422f-= 4ab0-b608-2609ad8198e4/metro-style-app-how-to-load-win32-dll >=20 > Does the DLL in question in VisualAda confine itself to the UWP-compliant= subset of the Win32 API? Hi OptiKos Yes the UWP project template has a dependency on the winrt_runtime, which p= asses the WACK test wrt windows Api usage. But it is obviously possible to link i= n other DLL's that are not WACK compliant, which wont pass the WACK tests. Alex