Windows Mobile2008.08.01 10:37
1. C# 에서 (.NET Framework)
2. UI를 갖는 어플리케이션을 작성할 때
3. 스레드를 생성해서
4. form 의 control 객체를 접근할 때
만나게되는 에러..

$exception  {"Control.Invoke는 별도 스레드에 만들어진 컨트롤과 상호 작용하는 데 사용해야 합니다."}
        System.Exception {System.NotSupportedException}


폼에 있는 컨트롤 박스를 별도의 스레드 (폼 도 하나의 스레드) 에서 접근하려고 하면
서로 다른 스레드가 하나의 컨트롤 객체에 접근하는 것을 방지하기 위해서 고안된 방법이라고 이해된다.
어디에서나 있는 멀티 스레드 환경에서 자원보호를 위한 방지책 인것이다.

샘플 코드...
아래 코드는 myDelegate라고 하는 위임을 선언하고,  progressbar 컨트롤을 업데이트 하는 스레드를 만든다.
myDelegate와 동일한 서명을 가지고 updateProgress 메서드를 선언하고, Invoke 메서드에게 updateProgress와 개체 배열을 파라미터로 전달한다.
private void updateProgress(int theValue, int theMax)
{
    if(theMax != 0)
       proStatus.Maximum = theMax;
    proStatus.Value = theMax;
}

private delegate void myDelegate(int theValue, int theMax);

private void myThread()
{
   for (int i=0 ; i < 10 ; i++)
  {
      this.Invoke(new myDelegate(updateProgress), new object[] {i*10,100});
      Thread.Sleep(500);
  }
}

private void cmdCreateThread_Click(object sender, System.EventArgs e)
{
   new Thread(new ThreadStart(myThread)).Start();
}


Eclipse를 주로 써 오다가, visual studio 를 사용하는 입장에서 코딩 하기 꽤나 귀찮다.

한 예로, 예외처리를 해야하는 코드에서 eclipse는 코딩 단계에서 try~catch 하라고 나오는데 반해
VS 는 빌드를 해야만, 또는 디버깅 중에 try~catch 하라고 나타난다.

pocket pc 를 디버깅 하려면 빌드, 배포 단계가 시간이 너무 오래 걸리는데,
기다렸다가 코드 몇 줄 넘어가다 exception 이라고 나타나니,,,,
짜증이 나는거지... 쳇.
Posted by Dr.Kein

댓글을 달아 주세요

  1. 그래서 Native Language가 최고라니까요 'ㅂ'

    2008.08.01 14:10 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • ㅎㅎ 그런가요^^;; 코딩을 전문으로 하질 않아서 native 도 어려워요 ㅎㅎ
      ppc용 프로그램 개발하는 일 하시나 본데 좋은 프로그램 많이 만들어 주세요~ ^^*

      2008.08.01 23:36 신고 [ ADDR : EDIT/ DEL ]
  2. 좋은 내용 담아 가도록하겠습니다. ^^

    2010.01.20 18:00 신고 [ ADDR : EDIT/ DEL : REPLY ]

Windows Mobile2008.07.19 22:19

이제는 eMbedded Visual C++ 이란 녀석이 VS2003 이전에 모바일 프로그램을 위해 사용된 녀석임을 알지만,
 어제까진 몰랐다. C++을 사용해서 pocket pc 프로그램을 개발 하려면 있어야 하는 녀석인줄 알았는데
이전에 사용되던 개발 툴인 것이었다. (즉, C++로 pocket pc 프로그램을 개발할 방법은 이제 없어진 것이다)

하여간,
그래도 아직은 인터넷에 evc++ 의 샘플 코드가 돌아다니고 있으며,
난 VS2005에서 개발을 할것 같아서 자료를 옮겨 둔다.

출처 : 서진호님 블로그 (http://blogs.msdn.com/jinhoseo/archive/2006/03/06/544247.aspx)

저번 MSDN 세미나 이후 계속해서 많은 분들이 EVC++ 프로젝트 에서 Visual Studio 2005로 마이그레이션 하는 자료에 대해 질문을 해와서 MSDN 아티클에 나와 있는 내용을 링크 해드립니다.

* Step by Step: Migrating an eMbedded Visual C++ Application to Visual Studio 2005

* Migrating Microsoft eMbedded Visual C++ Projects to Visual Studio 2005

그리고 6월달에 개최되는 MEDC 2006 Korea 행사에서 여러분들이 직접 코딩을 해볼 수 있도록 Hands-On Lab 을 마련하도록 하겠습니다. 업무에 참고하시기 바랍니다.

Posted by Dr.Kein

댓글을 달아 주세요

Windows Mobile2008.07.19 22:10

mymits.net 에서 퍼온 자료.
출처 : http://mymits.korea.com/zboard/zboard.php?id=dev_comm&page=8&no=27


안녕하세요? 서진호 입니다.

초보자들에게 도움 될 만한 동영상 강좌를 소개하고자 글을 올립니다.
처음 Smartphone 또는 Pocket PC 응용 프로그램 개발하는 분들께 도움이 되었으면 합니다. 접속하셔서 로그인 하시고 각종 PT와 샘플 소스를 받아서 한번 컴파일 해보시기 바랍니다. 궁금한 사항 있으시면 여기 게시판에 올려 주세요~!! 제가 아는 한 성심껏 답변을 드리도록 하겠습니다.

Visual Studio 2005 장치용에 대한 새로운 사항
http://www.microsoft.com/korea/eseminar/content.aspx?page=7&num=1049&CateID=0&searchstring=&category=

Visual Studio 2005에서의 Native 응용 프로그램개발
http://www.microsoft.com/korea/eseminar/content.aspx?page=3&num=1085&CateID=0&searchstring=&category=

출처 : 한국 스마트폰 사용자 모임, 마이미츠 - http://www.mymits.net/zb/dev_comm/27

Posted by Dr.Kein

댓글을 달아 주세요

Windows Mobile2008.07.19 22:02
VS 2005에서 개발의 첫걸음을 설명한 자료가 있어서 퍼왔다.
MyMITs.net 싸이트의 person 님이 올린 자료.
출처 : http://mymits.korea.com/zboard/zboard.php?id=dev_comm&page=8&no=20


Posted by Dr.Kein

댓글을 달아 주세요