0

優れた Windows Forms プログラムを Linux に移植しようとしていますが、次のエラーが発生します。

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  


Lubuntu 16.04.1 で NativeMethods:GetUpdateRect noon Monoへの C# 呼び出しをサポートする方法はありますか?


編集:
knocte さん、コメントありがとうございます。この編集は、この関数を参照しようとするコードの一部を引用することです (コメントでは書式設定が許可されていないため)。

[DllImport("user32.dll", EntryPoint = "GetUpdateRect", CharSet = CharSet.Auto)]
private static extern IntPtr GetUpdateRectInternal(IntPtr hWnd, ref Rectangle r, bool eraseBackground);
4

1 に答える 1

0

ええと、答えは、私が間違った質問をしていたということです。
「移植性のない Windows システム コールに依存する ObjectListView.cs を置き換えて、このプログラムを Linux 上の Mono に移植するにはどうすればよいですか?」と尋ねるべきでした。

ObjectListView は Windows ではうまく動作するようですが、Linux または Mac システムとは互換性がありません。ObjectListView ディスカッション ボードで非常に良い議論が行われて います。Steve Hiner (2015-11-29) のコメントは、私の検索の方向性を変えました。Steve のアプローチは、「Windows で OLV を使用し、Linux と Mac でストック リストビューを使用するプロキシを既に作成しました。これは、OLV が疑似モノ サポートを提供する 1 つの方法であり、特別な機能を使用せずにストック リストビューを使用することができます。」

knocte、正しい方向に考えさせてくれてありがとう。

于 2016-11-26T15:08:53.403 に答える