triforcely / Octave.NET

📈 More than cross-platform Octave process wrapper 🔬
MIT License
32 stars 7 forks source link

Octave 7.2.0 #16

Open php-gamesontrack opened 2 years ago

php-gamesontrack commented 2 years ago

I have tested your solution with Octave 7.2.0 and you should know the application name 'octave-cli.exe' has changed to 'octave-launch.exe'. Also notice that 'octave-launch.exe' is now used for both GUI and CLI by using arguments: GUI: "C:\Program Files\GNU Octave\Octave-7.2.0\octave-launch.exe" --gui CLI: "C:\Program Files\GNU Octave\Octave-7.2.0\octave-launch.exe" --no-gui

1) In OctaveGlobal.cs the application name is changed:

    private const string OctaveExecutable = "octave-launch";

2) In OctaveProcess.cs the Arguments "--no-gui" is added:

        StartInfo = new ProcessStartInfo()
        {
            FileName = octaveCliPath,
            RedirectStandardInput = true,
            RedirectStandardOutput = true,
            RedirectStandardError = true,
            UseShellExecute = false,
            CreateNoWindow = true,
            Arguments = "--no-gui"
        };
triforcely commented 2 years ago

Hi. You should be able to pass the name of executable via "OctaveSettings.OctaveCliPath".

php-gamesontrack commented 2 years ago

Thanks, but that doesn't count for the Arguments right?

Another thing: Have you tested your solution lately with a call from WPF to Octave 7.2.0? When I do this, there is no result returned. The Octave prompt is visible, but nothing happens. (The solution works from a console app.)

triforcely commented 1 year ago

@php-gamesontrack octave-cli.exe is still there, in my case in Octave-7.2.0\mingw64\bin folder. Not sure about WPF but I don't see any reason why it would break. You might be blocking the thread that OctaveContext is running on, therefore you are not getting any output.