2016-11-21 2 views
0

나는 좋은 윈도우가 리눅스로 프로그램을 양식 포트를 시도하고이 오류를 얻을 해요 :Lubuntu 16.04.1에서 Mono에 NativeMethods.GetUpdateRect를 사용하는 방법?

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 


NativeMethods에 C#을 통화를 지원하는 방법이있다 : 루 분투 16.04.1에 GetUpdateRect 정오 모노?


편집 :
감사합니다, knocte, 당신의 의견을합니다. 이 편집 (코멘트 서식을 허용하지 않기 때문에)이 함수를 참조하려고 코드의 비트 인용하는 것입니다

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

Windows Forms 프로그램이 네이티브 P/Invokes를 사용하는 경우 이미 Windows 시스템 호출에 의존하는 교차 플랫폼이 아닌 프로그램입니다. – knocte

+0

감사합니다. nocte이지만이 장면에 너무 익숙해서 제대로 이해하지 못했습니다. 나는 원래의 질문에 GetUpdateRect를 참조하려고하는 코드 비트를 추가 했으므로 코드 섹션을 제대로 포맷 할 수 있습니다. – JimH44

+0

예, Windows를 염두에두고 프로그램을 염두에두고 크로스 플랫폼을 사용하여 작성된 것은 아닙니다. 따라서 GetUpdateRect가 Windows에서하는 일을 Linux에서 모노로 처리 할 수 ​​있는지를 아는 사람이 있는지 물어볼 것입니다. 또는 Windows에서의 함수와 Linux에서의 해당 함수 간의 상관 관계 테이블. 이 질문에 대해 다시 생각해 주셔서 감사합니다. 나는 Ketarin이 그토록 유용한 프로그램이고 Linux에서 네이티브로 실행할 수 있기를 바라고 있습니다. (이전에는 WINE에서 작업했지만 이전에 문제가 발생하여 해결할 수 없었습니다.) – JimH44

답변

0

글쎄, 대답은 내가 잘못된 질문을 한 것입니다.
"이식성이없는 Windows 시스템 호출에 의존하는 ObjectListView.cs를 대체하여이 프로그램을 Linux의 Mono로 포팅하는 방법은 무엇입니까?"

ObjectListView는 Windows에서 제대로 작동하는 것으로 보이지만 Linux 또는 Mac 시스템과 호환되지 않습니다. ObjectListView discussion board에는 매우 유용한 토론이 있습니다. 스티브 히 너 (Steve Hiner, 2015-11-29)의 말은 나의 검색 방향을 바꾸었다. 스티브의 접근 방식은 "윈도우즈에서 OLV를 사용하는 프록시와 리눅스와 맥에서 스톡리스트를 사용하는 프록시를 이미 만들었습니다. OLV가 가상 모노 지원을 제공 할 수있는 방법 중 하나 일 것입니다.

감사합니다. knocte, 저를 올바른 방향으로 생각하게 해 주셔서 감사합니다.

관련 문제