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:ac8:1a2b:: with SMTP id v40mr12024017qtj.364.1585981854207; Fri, 03 Apr 2020 23:30:54 -0700 (PDT) X-Received: by 2002:aca:cf48:: with SMTP id f69mr5310425oig.122.1585981853907; Fri, 03 Apr 2020 23:30:53 -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.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Fri, 3 Apr 2020 23:30:53 -0700 (PDT) In-Reply-To: <7ea2a2c3-4685-4a43-a711-44db063bf804@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: google-groups.googlegroups.com; posting-host=101.164.64.208; posting-account=wavAeAoAAAAZF_sXSZepBukuPCBO0Zqt NNTP-Posting-Host: 101.164.64.208 References: <45e4b12d-2a97-4922-93a2-9b6d45dcd9bf@googlegroups.com> <7ea2a2c3-4685-4a43-a711-44db063bf804@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <13abcb63-de63-47be-bc4e-f66cd1b1731d@googlegroups.com> Subject: Re: Ann: AdaNetframework - Proof of cncept / alpha release From: alby.gamper@gmail.com Injection-Date: Sat, 04 Apr 2020 06:30:54 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: reader01.eternal-september.org comp.lang.ada:58310 Date: 2020-04-03T23:30:53-07:00 List-Id: On Wednesday, April 1, 2020 at 2:25:21 AM UTC+11, Shark8 wrote: > On Thursday, March 26, 2020 at 3:11:37 AM UTC-6, alby....@gmail.com wrote= : > > Dear Ada Community > >=20 > > For those interested in Microsoft NetFramework, I have developed a set = of > > bindings, runtime that allows native Ada applications built using GNAT = to > > use the NetFramework. Conceptually this is very similar to "Embedinator= 4000" > > developed by the "Mono" development team. Note this is not Ada compiled= into > > CLR/VM bytecode, but a native (albeit for the moment) Windows x64 appli= cation that > > can make use of the functionality provided by the NetFramework. > >=20 > > Note this is a Proof of concept/alpha release, but it is functional > >=20 > > The git repo contains 3 branches, these being > >=20 > > 1) Master - a cutdown version of mscorlib (only includes subset of msco= rlib) > > 2) System.dll - contains the core system bindings (core dependency) > > 3) System.Windows.forms.dll - contains winforms bindings > >=20 > > I suggest that if you want to build/test the repo, please start with th= e "Master" > > branch (which contains rudimentary test application (ie VS/GPR project)= and then > > progress to System and finally System.Windows.Forms branch. Note that t= he=20 > > Winforms branch will take ~45 min to complete, so be patient (its a lar= ge lib!) > >=20 > > Notes: > >=20 > > 1) Please use the latest version of VisualAda to build the projects. Th= eir was > > a memory leak which may/will cause the final part of the build to fail > >=20 > > 2)I am intending to support NetCore going forward, so that Mac, Linux c= lients > > will be supported. But this may take some time, since the CLR hosting /= interop > > Api's are very different from NetCore to NetFRamework > >=20 > > Git repo is https://github.com/Alex-Gamper/Ada-NetFramework.git > >=20 > > Feel free to raise questions / comments > >=20 > > Alex >=20 > So, this allows you to use DOTNET stuff in native applications; that's pr= etty nifty. > There was a GANT that targeted DOTNET directly, though the latest one is = pretty old now (2014?) and there was a Ada spec generator where you could i= mport DOTNET libraries for use in your Ada programs. [I have a copy of Delp= hi.NET, so of course I ran it over the Delphi DLLs. ;) And had some fun pla= ying around with that.] Hi Shark8 Yes it does allow you to use DOTNET directly (ie from a native x64 binary) The big difference between this approach and targeting CLR/DOTNET directly = as GNAT 2014 did, Is that the Bindings need to be generated based on a=20 predefined set of assembly's. Hence the reason for the 2 main branches in G= it The "system.dll" branch contains only the bindings for system.dll and the "System.windows.Forms.dll" branch contains the bindings for WinForms and al= l its dependencies (If their is demand I can do another branch for WPF) Alex