Ich versuche, ein großes Windows Forms-Programm auf Linux zu portieren und diese Fehlermeldung erhalten:Wie NativeMethods.GetUpdateRect auf Mono auf Lubuntu 16.04.1 verwenden?
System.EntryPointNotFoundException: GetUpdateRect
at (wrapper managed-to-native)
CDBurnerXP.Controls.NativeMethods:GetUpdateRectInternal
(intptr,System.Drawing.Rectangle&,bool)
at CDBurnerXP.Controls.NativeMethods.GetUpdateRect
(System.Windows.Forms.Control cntl) [0x0000f] in
<ce4ca0f630654e4c8c1f96509f1eae82>:0
Gibt es eine Möglichkeit C# Anrufe
Native zu unterstützen: GetUpdateRect Mittag Mono auf Lubuntu 16.04.1?
Edit:
Danke, knocte, für Ihren Kommentar. Diese Änderung ist das Stück Code zu zitieren, die diese Funktion zu verweisen versucht (weil Kommentare erlauben keine Formatierung):
[DllImport("user32.dll", EntryPoint = "GetUpdateRect", CharSet = CharSet.Auto)]
private static extern IntPtr GetUpdateRectInternal(IntPtr hWnd, ref Rectangle r, bool eraseBackground);
Wenn Ihr Windows Forms-Programm native P/Invokes verwendet, ist es bereits ein nicht-plattformübergreifendes Programm, das von Windows-Systemaufrufen abhängt – knocte
Danke, nocte, aber ich bin zu neu für diese Szene, um sicher zu sein, dass ich Sie richtig verstehe. Ich habe den Bitcode hinzugefügt, der versucht, GetUpdateRect auf meine ursprüngliche Frage zu verweisen, damit der Codeabschnitt richtig formatiert werden kann. – JimH44
Ja, das Programm wurde nicht für den plattformübergreifenden Einsatz entwickelt - nur unter Windows. Also ich denke, ich frage, ob jemand weiß, ob es etwas in Mono unter Linux gibt, was GetUpdateRect unter Windows tun würde. Oder irgendeine Tabelle von Korrelationen zwischen Funktionen unter Windows und ihren Entsprechungen unter Linux. Nochmals vielen Dank, dass Sie über diese Fragen nachgedacht haben. Ich halte hartnäckig, weil Ketarin ein so nützliches Programm ist und ich gerne nativ auf Linux laufen könnte. (Früher hat es über WINE funktioniert, aber etwas ist kaputt gegangen, und ich konnte es nicht beheben.) – JimH44