WPF softone outprocess with .net 5
Προαπαιτούμενα:
Visual studio (2019) Community (.net Desktop features installed)
Ανοίγουμε το Visual studio
Create new project
Επιλέγουμε WPF Application (όχι αυτή με το Framework, την σκέτη που αναφέρει κάτω .ΝΕΤ core)
Ονομάζουμε το project και το solution, και βάζουμε το path που θέλουμε τα αρχεία
Target Framework = .NET 5.0 (Current)
Πατάμε create
Double click στο project να ανοίξει το xml του και συμπληρώνουμε τα παρακάτω:
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net5.0-windows</TargetFramework>
<UseWPF>true</UseWPF>
<UseWindowsForms>true</UseWindowsForms>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
</PropertyGroup>
Η πρώτη πράσινη, είναι για να έχουμε πρόσβαση στο System.Windows.Forms, οι άλλες δύο είναι γιατί γράφει τα αρχεία του project σε υποφάκελο του output path, και όχι στο φάκελο του softone, που έχουμε συνηθίσει.
Ανοίγουμε το Package Manager Console και γράφουμε:
PM> Install-Package System.Text.Encoding.CodePages -Version 5.0.0
Ορίζουμε Output path και working directory στο project το path του softone
Στα Dependencies του project δεξί κλικ, add project reference , Browse και επιλέγουμε το softone.lib.dll από το path του softone
Στον κώδικα πριν από το login, γράφουμε τα παρακάτω:
using Softone; //ψηλά ψηλά
…
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
System.Windows.Forms.Form S1HiddenForm = new System.Windows.Forms.Form();
XSupport.InitInterop(S1HiddenForm.Handle.ToInt32(), null);
DateTime today = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
XSupport X = XSupport.Login("c:\\path\\to\\softone.xco", "Admin", "", 1, 1, today,0);
Το πρώτο, σε συνδυασμό με το βήμα 8, διορθώνει ένα σφάλμα που βγάζει για την codepage 1253, ότι δεν υποστηρίζεται.
Το δεύτερο για να μπει στην τρίτη γραμμή και για να έχουμε και διαθέσιμες προβολές από το softone σε αναδυόμενα παράθυρα.
Μετά το login το X έχει όλα τα καλούδια διαθέσιμα.