Create an ABL Form from PowerShell:
#::LoadFile("c:\Progress\OpenEdge\bin\Progress.clrbridge.dll")
::LoadFile("c:\Progress\OpenEdge\bin\Progress.NetUI.dll")
#::GetDomain().GetAssemblies()
$form = New-Object -typeName Progress.Windows.Form
#$form | Get-Member
$form.Text = "Testing"
$form.Visible = $TRUE
Not surprising that this works. The Progress.Form is a true .NET object. You should be able to create an instance of the Progress.Data.BindingSouce or access the EnumHelper as well.
But it's not that exciting - because outside the context of the bridge (AVM), there's nothing special with these classes anymore. They simply inherit from System.Windows.Forms.Form or BindingSource. The added members/overridden members will only make sense when used in the context of the OpenEdge GUI for .NET.
By the way: With the recent discussions regarding the EULA restrictions, I would not be surprised, if that starts to be a clear violation.
By the way: With the recent discussions regarding the
EULA restrictions, I would not be surprised, if that
starts to be a clear violation.
Yes, but the beta program is still running, this is a beta forum and is not public and this post will probably be scrubbed so I see no harm in discussing this.
I see, no context of AVM, so it is basically useless. Any way to start and link the AVM? So it is, theoretically speaking of course, also possible to use clrbridge.dll to execute 4GL from PowerShell (or other tool)?
AFAIK the AVM is not designed to be loaded into another process. It's still unmanaged code, compiled into the prowin32.exe.
To perform what you'd like, you'd need to be able to load the AVM into another process (power shell or another .NET exe) - like an .NET assembly. Then you'd need entry points to be able to load .p or .cls code and execute that.
I doubt that's ever gonna happen. And I doubt that it would be worth the effort - for PSC as a development shop that needs to think on it's own ROI as well.