PxPlus User Forum

Twitter Twitter Twitter

Author Topic: .NET  (Read 1471 times)

samg

  • New Member
  • *
  • Posts: 4
    • View Profile
.NET
« on: February 10, 2019, 02:54:20 PM »
Was chatting with a Sage100 (previously Mas90/200) developer who was telling me the latest Providex 9.5 for Sage .... " One thing that Sage's Providex does has is direct .NET support.  Amazingly, it works quite well. "

was wondering
1) What exactly does 9.5 do that means "DIRECT" .NET support
2) I know that much of the young IT crowd asks "is there .NET support?"  was wondering if that might be in the works for future pxplus releases

Stéphane Devouard

  • Diamond Member
  • *****
  • Posts: 122
  • PxPlus guru with skills in PHP, JS, C#, Java
    • View Profile
    • Stéphane's Web Resume
Re: .NET
« Reply #1 on: February 11, 2019, 03:30:27 AM »
Sam

Microsoft .Net has been around for a long time now. When you code .Net apps, you can use any language you want -- C/C++, VB.Net, C#. C#, some hybrid of C and Java (development codename COOL for C Object Oriented Language), would be your language of choice. What you write is translated into IL (Intermediate Language) by the CLR (Common Language Runtime, a kind of virtual machine), and then compiled in machine code for the target OS version the first time you run it on the target machine, by the JIT (Just-In-Time) compiler. As you may have already thought, this shares a lot of ressemblance with Java -- that's for a reason, Microsoft borrowed a lots of things from Java when designing .Net and C#. Also, IL is a byte-code, so that should ring a bell as well : that looks a lot like tokenized programs run by an interpreter that is specific to the target platform : Write Once, Run Everywhere ;)

Almost 30 years ago when I learned UNIX, I was told this motto : everything is a file. .Net's motto, like most modern-days language, is : everything is a class. When you create a .Net console program, you create a class that will run from the console. When you create a WinForms app (the grey windows running on the desktop), you create a class that will derive from the standard .Net Windows Form class. Same thing for ASP.Net and MVC.Net when creating web apps.

PxPlus knows how to interface with ActiveX/OLE/COM classes, which are classes/objects built using pre-.Net compiled languages (generally C/C++, sometimes VB6, Delphi or whatever).
By default, when you create a .Net class, it is not visible by the outside world (your ProvideX code) through the COM interface. You must "decorate" your class with special clauses so that it is made COM-visible at compilation time and thus a COM-enabled environment like PxPlus can access it, instantiate an object and use its properties, methods and events.

I would say that "Direct .Net support" probably means that you can access a .Net class without it being COM-enabled. That would be great because you could not only use utility .Net classes made by third-party vendors (for exemple, the Crystal Reports interface) but also the FCL (Framework Classes Library) which is a bunch of classes written by Microsoft for all kind of purpose.

I'll let the PxPlus folks answer about their plans with .Net direct support
« Last Edit: February 11, 2019, 03:32:25 AM by Stéphane Devouard »
Stéphane Devouard
Portfolio | Work