! 제품 버전을 정확하게 입력해 주세요.
제품 버전이 정확하게 기재되어 있지 않은 경우,
최신 버전을 기준으로 안내 드리므로
더욱 빠르고 명확한 안내를 위해
제품 버전을 정확하게 입력해 주세요!

Spread를 복사하여 다른 Spread Sheet에 복사할 경우 클립보드 오류가 발생합니다(재문의) > Q&A | 토론

본문 바로가기

Spread.NET

Q&A | 토론

WinForms윈폼 Spread를 복사하여 다른 Spread Sheet에 복사할 경우 클립보드 오류가 발생합니다(재문의)

페이지 정보

작성자 클릭 작성일 2023-11-01 09:25 조회 205회 댓글 0건
제품 버전 : 15.0.20221.0
컨트롤 이름 : Farpoint.win.spread

본문

안녕하세요.

어제 올린 문의 내용에 구체적인 상황을 기재하여 다시 문의 드립니다.


1. 한시트 전체를 복사하여 다른 스프레드 sheet에 붙여넣는 상황입니다.

2. 복사 시 오류가 발생하지 않고, 붙여넣기 시 오류가 발생합니다. 

3. 다른 시트에 붙여넣기 할때엔 ClipboardCopy / ClipboardPaste를 활용하였습니다.

4. 실행이 가능한 샘플코드를 만들거나 공유가 어렵습니다.


다만 발생여부도 불안정하여 일반적으로는 대다수 PC에서는 발생하지 않았고 특정 1개 PC또한 재부팅 이후로는 정상작동되긴 하였습니다..



ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

이 대화 상자 대신 JIT(Just-in-time) 디버깅을 호출하는

방법에 대한 자세한 내용은 이 메시지의 뒷부분을 참조하십시오.


************** 예외 텍스트 **************

System.Runtime.InteropServices.ExternalException (0x800401D0): 요청한 클립보드 작업을 수행하지 못했습니다.

   위치: System.Windows.Forms.Clipboard.ThrowIfFailed(Int32 hr)

   위치: System.Windows.Forms.Clipboard.GetDataObject(Int32 retryTimes, Int32 retryDelay)

   위치: System.Windows.Forms.Clipboard.GetDataObject()

   위치: FarPoint.Win.Spread.SheetView.ClipboardPaste()

   위치: cspEMRNewViewer.SheetCopyManager.PasteSheet(SheetView destinationSheet)

   위치: cspEMRNewViewer.FrmInputSk.PasteSheet(Action`1 action)

   위치: cspEMRNewViewer.InputSkController..ctor(IInputSk view, SheetCopyManager copyManager, InfoDto dto, Action`1 resultCallBack)

   위치: cspEMRNewViewer.clsEMRNewViewer.ShowInputSk(SheetView sv, InfoDto dto, Action`1 resultCallBack)

   위치: cspEMRNewViewer.FrmEMRHtml.btnSK_Click(Object sender, EventArgs e)

   위치: System.Windows.Forms.Control.OnClick(EventArgs e)

   위치: DevComponents.DotNetBar.ButtonX.OnClick(EventArgs e)

   위치: DevComponents.DotNetBar.ButtonX.OnMouseUp(MouseEventArgs e)

   위치: System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)

   위치: System.Windows.Forms.Control.WndProc(Message& m)

   위치: DevComponents.DotNetBar.PopupItemControl.WndProc(Message& m)

   위치: System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)

   위치: System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)

   위치: System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

  • 페이스북으로 공유
  • 트위터로  공유
  • 링크 복사
  • 카카오톡으로 보내기

댓글목록

등록된 댓글이 없습니다.

1 답변

WinForms윈폼 Re: Spread를 복사하여 다른 Spread Sheet에 복사할 경우 클립보드 오류가 발생합니다(재문의)

추천0 이 글을 추천하셨습니다 비추천0

페이지 정보

작성자 MESCIUS써니 작성일 2023-11-01 13:26 댓글 0건

본문

클릭 님, 안녕하세요.


예외 메세지에서 확인하실 수 있는 것처럼, 해당 Exception은 Spread가 아닌 .NET/.NET Framework에 속하는 System.Windows.Forms.Clipboard에서 발생합니다.


해당 이슈가 발생하는 세 가지 일반적인 시나리오는 다음과 같습니다.


  1. 애플리케이션/현재 사용자에게 클립보드 작업에 대한 권한(OS에서)이 없습니다.
  2. 코드가 VS.NET의 디버깅 모드에서 실행됩니다.
  3. 다른 스레드/애플리케이션이 동시에 클립보드에 액세스합니다.


이러한 경우, 다음과 같이 fail-safe 접근방식을 고려해보실 수 있을 것으로 생각됩니다.

try
{
   sheetView.ClipboardPaste();
}
catch (System.Runtime.InteropServices.ExternalException)
{
   //두 번째 시도
   sheetView.ClipboardPaste();
}


다만, 이것이 모든 붙여넣기의 성공을 보장하는 것은 아니며, 실패 횟수를 줄이는 데에 도움이 되는 점을 유의해주시기 바랍니다. 


아울러, 해당 이슈가 Spread에서 발생하는 이슈가 아니기 때문에 Spread에서 컨트롤/픽스될 수 있는 사항이 아닌 점, 양해 바랍니다.


감사합니다.

그레이프시티 드림

댓글목록

등록된 댓글이 없습니다.

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
이메일 : sales-kor@mescius.com | 전화 : 1670-0583 | 경기도 과천시 과천대로 7길 33, 디테크타워 B동 1107호 메시어스(주) 대표자 : 허경명 | 사업자등록번호 : 123-84-00981 | 통신판매업신고번호 : 2013-경기안양-00331 ⓒ 2024 MESCIUS inc. All rights reserved.