달력

4

« 2024/4 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
질문자 : jik0101  링크 : http://cafe.naver.com/winmodev/1148
<질문내용>

현재 옵니아2 폰이 있는데 기기에 넣어서 프로그램을 실행시켜보고 싶어서 질문 드립니다.

현재는 빌드할때 GT-I8000 KOR WM 6.5 Pro WVGA Emulator로 빌드를 하고 있습니다.

 

그런데 이걸 폰에 직접 넣어서 테스트를 해보고 싶은데 정확한 절차가 어떻게 되는지 전혀 모르겠습니다..;

 

폰에 넣어서 테스트 하는 방법은 아무것도 모르는 상태라 자세하게 설명 해주시면 감사하겠습니다 ㅠㅠ

 

이상하게 에뮬레이터에서 실행하니 로딩하는게 너~~~~~~무 느리네요;;

 

------------------------------------------------------------------------------------

루나네스 개발자님 말씀대로 실행을 했더니 단말기로 바로 실행되는거 같습니다 ^^

 

그런데 에뮬에서 하면 잘 나오는 이미지 경로를 단말기에서는 찾지를 못하네요..

 

'\Storage Card\bg1_1.png' 경로의 일부를 찾을 수 없습니다.

위치 : System.IO._Error.WinIOError()

위치 : System.IO.FileStream..ctor()

위치 : System.IO.FileStream..ctor()

위치 : Microsoft.WindowsMobile.DirectX,Direct3D.TextureLoader.FromFile()

위치 : Microsoft.WindowsMobile.DirectX,Direct3D.TextureLoader.FromFile()

위치 : DeviceApplication.Form1.Form1_Load()

위치 : System.Windows.Forms.Form.OnLoad()

위치 : System.Windows.Forms.Foem._SetVisibleNotify()

위치 : System.Windows.Forms.Control.set_visible()

위치 : DeviceApplication.Program.Main()

 

DX에서 이미지 하나만 출력하는 소스입니다. 그런데 실행하니 위와 같이 오류메세지가 쭉~ 뜨네요;;

에뮬레이터로 할때는 경로를 위에처럼 지정해주니 이미지가 잘 나오는데 왜 단말기에서는 찾을수 없다고 하는지..

그리고 DX를 사용하려면 단말기에 넣을때 또 다른 설정해 줘야 하는게 있나요?

아니면 아래 오류들이 경로를 못찾아서 따라서 나는 오류인지 DX쪽이 문제인지 잘 모르겠습니다..

<답변내용>

안녕하세요 루나네스 입니다

단말기가 있으시다면 단말기로 직접 디버그 및 실행 테스트가 가능합니다
다른 특별한 등록도 필요하지 않고
엑티브싱크(비스타 이상에서는 모바일 디바이스 센터)가 연결되어 있는 상태라면
비쥬얼 스튜디오 상단 도구바에 있는 [대상 장치]에서 아래 그림과 같이
[Windows Mobile 6 professional Device]를 선택하고 디버그 실행 하시면 됩니다

아무래도 에뮬레이터에서 실행하면 꽤 느린편 입니다

실제로 단말기에서 테스트 해본 후 완성하시는 것이 좋습니다

 

나중에 배포 테스트 (CAB  프로젝트 생성)시 생성된 CAB파일을 단말기로 복사해 넣으시고

직접 설치하면서 실행 테스트 하셔도 됩니다

------------------------------------------------------------------------------------

 추가 질문 내용 답변

에뮬레이터에 [공유 폴더]로 컴퓨터 하드디스크 폴더에 bg1_1.png를 넣어두신 것 같네요
Bg1_1.png 라는 파일이 단말기의 Storage Card, 즉 micro SD 카드에 해당 파일이 없거나, micro SD 카드를 장착 안하신 것 같네요
절대경로로 설정하신 것 같은데요

단말기의 Storage card에 BG1_1.png 파일을 넣어주시거나
아니면 경로를 수정하셔서, 배포된 파일 위치에 넣어주세요

편하게 하시려면 프로젝트에 BG1_1.png 파일을 추가하여 주시고, 배포시 파일 속성에서 출력 디렉터리로 복사 에서 항상 복사로 선택해 주시면 배포 위치 \Program Files\프로젝트명 에 자동으로 복사 됩니다

이렇게 사용하시려면 경로를 "BG1_1.png" 이런식으로 정의해주셔도 됩니다

따로 하위 폴더 만들어서 넣어주셔도 좋구요 ^^

 작성일 : 2010.02.01

보다 자세한 정보는 윈도우 폰/모바일 개발자 모임에서 만나보실 수 있습니다
:
Posted by Lunaness
2010. 2. 17. 14:12

Timer 질문 입니다. Programing/WinMoDev Q&A2010. 2. 17. 14:12

질문자 : jik0101  링크 : http://cafe.naver.com/winmodev/1130
<질문내용>

WM에서는 타이머가 하나밖에 적용이안되는건가요?

 

타이머를 두개 만들었는데 하나는 인식을 하는데 하나는 인식을 못하네요;

<답변내용>

안녕하세요 루나네스 입니다

타이머는 일반적으로 멀티스레딩 환경에서 다중으로 동시에 사용이 가능합니다만..
(간단하게 예기하면) 타이머의 특성상 프로세스 동작 중 타이머가 작업권한을 받았다가 처리 후 반환하는 식 이기 때문에
동시에 사용하기에는 무리가 있습니다
특히 실시간으로 사용하는 것에는 매우 안좋습니다

질문 올리신 내용은 타이머가 인식되지 않는 다는 내용인데요
결론부터 말씀드린다면
타이머를 여러개 사용해도 전부 동작 한다는 것 입니다

tmrTimer1.enable = true;  <- 이 속성의 값이 true가 되어야 타이머가 동작됩니다

다만.. 위에서 언급드린 내용처럼
타이머의 한 주기 이벤트가 종료 되어야 다른 동작이 가능하기 때문에
타이머1의 Tick event에 정의된 내용이 많을 경우
처리를 하는 시간동안 타이머2의 Tick 이벤트를 실행하지 못하는 경우가 있습니다

Timer1의 간격 100ms
Timer2의 간격 500ms 라고 가정하고
Timer1의 Tick 이벤트에서 시스템에 저장되어 있는 파일을 전부 읽어오라는 (예가 너무 무식한가요;;)
명령을 수행하는데 대략 1000ms 가 걸린다고 하면
당연히 타이머2의 이벤트가 하나나 두개쯤 무시 되기도 합니다
(적고 나서 보니.. 진짜 무식하게 예를 들어놨네요;;  이런 개념이다 라고만 이해해 주세요)

타이머에 대한 자세한 내용은 우리카페 [소년포비]님께서 너무나 잘 설명해 주신 내용이 있습니다
http://blog.daum.net/starkcb/117

첨부된 예제는 제가 간단하게 만들어본
폼 컨트롤의 타이머 2개와 Timer class를 이용한 타이머 2개
총 4개의 타이머가 동작하는 예제 입니다

제가 추천해 드리는 방법은
가급적이면 타이머를 사용하지 않고 Thread를 통해서 작업을 진행하는 것이 좋습니다
단점은 Thread에서 직접적으로 폼 컨트롤을 제어가 불가능하기 때문에
Deligate를 사용해서 접근하도록 코딩을 해야 한다는 점 입니다만
최고의 장점으로 다른 작업에 영향을 주지 않을 정도로 정밀도가 향상됩니다

 작성일 : 2010.01.29

보다 자세한 정보는 윈도우 폰/모바일 개발자 모임에서 만나보실 수 있습니다
:
Posted by Lunaness
질문자 : figaro70  링크 : http://cafe.naver.com/winmodev/1009
<질문내용>

3가지 문의 드립니다.

 

1) Visual Studio 2005에서 WM 프로그램 개발 관련 문의

 

회사에서 모발일 프로그램 개발 준비를 하고 있습니다.

회사에서 가지고 있는 Visual Studio license가 2005(정확히는 Visual Studio 2005 Professional Edition)밖에

없어서 이것을 기반으로 시범개발을 해야 할 것 같은데 여기 카페에서 찾아본 자료를 보니 2008이상을 권장하더군요.

Visual Studio 2005에서도 WM 프로그램 개발하는데 아무 지장이 없는 것인지 아니면

어떤 제약이 있는지등에 대해 알고 싶습니다.

 

2) 개발 Language 관련 문의

 

회사에서는 네트웍 시스템 개발 경험이 전부이구요. C만 사용해봤습니다.

WM 프로그램 개발시 C,C++,C#중 어느 것을 가장 많이 사용하는지 그리고

어느 것을 사용하는 것이 개발하는데 효율적인지 알고 싶습니다.

 

3) 앱스토어에 개발자 등록 관련 문의

 

애플의 앱스토어의 경우 연간 일정 금액을 지불하고 개발자로 등록하는 것으로 알고 있습니다.

등록 절차등의 자료는 웹상에서 혹은 카페에서 쉽게 찾아볼수 있는데요.

옴니아등 WM기반의 폰들은 주로 국내 KT의 쇼앱스토어나 SKT의 T-store에 개발자 등록을 할텐데

이들 앱스토어에 개발자 등록절차을 알고 싶습니다.(물론 제가 찾아봐에겠지만 우선 기본적은 사항들을

미리 알고 싶어서요)

또한, 이들 앱스토어도 애플의 앱스토어와 마찬가지로 개발자로 등록해야 폰에서 자신이 개발한 앱을 시험해

볼 수 있는 것인지, 등록을 안하고도 시험이 가능하지도 알고 싶습니다.

<답변내용>

안녕하세요 루나네스 입니다

일단 제가 아는 한도내에서 답변을 드리면요


1) Visual Studio 2005에서 WM 프로그램 개발 관련문의
2005에서도 WM개발이 가능합니다
다만, 2005에는 PPC2003 SDK가 기본으로 있기 때문에 요즘 출시되는 단말기의 OS보다 하위버전이라 지원되는거나 호환성이 많이 떨어집니다
그래서 Windows Mobile 6 SDK를 설치하시면 동일하게 개발이 가능합니다
2008에서 개발이 많이 되는 이유는 2008부터 C# 3.0이 지원되는데요,
이것은 WM에서 .NET Compact Framework 3.5를 이용하는 프로젝트는
2005에서 사용이 불가능 하다는 예기 입니다.
이런 문제때문에 2008을 권장하는 추세 이지요

 

2) 개발 Language 관련 문의
빠른 퍼포먼스와 그래픽 처리를 요구하는 게임 같은 경우는 Native로 개발해야 합니다
일반적인 어플리케이션이나 데이터 처리가 많은 경우, 그리고 타 기기에 대한 바이너리 Level의 호환성을 고려한다면
Managed로 개발하시는 것이 좋습니다

특히, Native Code와 Managed Code의 결정적인 차이는 메모리 관리의 차이가 있습니다
Native에서는 메모리 관리를 수동으로 해야하고, 메모리 누수가 될 확률이 무척 높습니다
반면, Managed에서는 메모리관리를 자동으로 해주고, Gabage Collector를 통한 메모리 관리가 진행됩니다
(하지만, Managed에서도 메모리 할당 후 해제를 해줘야 하는것은 마찬가지고, 가급적 Gabage Collector는 사용하지 않는것이
 퍼포먼스를 보장하는 방법입니다. 그래도 Native보다는 신경써야 할 것들이 적어서 무척 편리합니다)

애플리케이션이 어떠한 목적으로 사용될 것인지에 대해서 결정을 하시고 언어를 선택하거나
코드 관리나 차후 프로젝트 등 개발 조건을 고려해서 선택을 하셔야 할 것 입니다

뽐뿌맨 : 초보자를 위한 윈도우폰 애플리케이션 개발 스토리북 제1화 (http://cafe.naver.com/winmodev/492)
윈모형아 : GDI 퍼포먼스 테스트 : Native vs. Managed (http://cafe.naver.com/winmodev/992)

위에 두 글을 참고해서 읽어보세요


3) 앱스토어에 개발자 등록 관련 문의
TStore를 기준으로 말씀드린다면, 등록절차가 애플에 비해 복잡하지 않은편 입니다
개인개발자와 사업자(개인/법인)의 차이가 있는데요 판매를 위한 목적으로 등록하신다고 생각하시면 됩니다

각 엡스토어마다 등록절차가 달라서 따로 말씀드리기는 어려운데요
TStore 웹 가입 -> 판매자 등록 -> 관련서류 송부 -> 판매자 승인 후 판매 가능
이라고 보시면 되겠네요

애플의 앱스토어와는 다르게 개발자로 등록을 하지 않아도 WM기기에서는 테스트가 가능합니다
물론 실행도 가능하지요

 작성일 : 2010.01.21

보다 자세한 정보는 윈도우 폰/모바일 개발자 모임에서 만나보실 수 있습니다
:
Posted by Lunaness
질문자 : hyun5366  링크 : http://cafe.naver.com/winmodev/799
<질문내용>

X버튼 설정 상태를 얻어 오는 함수가 존재 하나요??

 

함수가 있다면 함수점 알려주세요 ㅜ.ㅡ

<답변내용>

함수는 없구요

[HKEY_CURRENT_USER\ControlPanel\XButton]
"IsActive"=dword:00000000

레지스트리를 직접 보시면 됩니다

dword 값으로 0이면 해제, 1이면 설정되어 있는 상태 입니다

 작성일 : 2010.01.07

보다 자세한 정보는 윈도우 폰/모바일 개발자 모임에서 만나보실 수 있습니다
:
Posted by Lunaness
질문자 : 개맛고양이(deadbeef)  링크 : http://cafe.naver.com/winmodev/739
<질문내용>

char* extensions = (char*) glGetString( GL_EXTENSIONS);


옴니아2에서 위의 코드를 실행한 리턴값을 부탁합니다. 저는 옴니아2 없거든요.

참고로 제 Xperia X1i 의 OpenGL ES extension 입니다:


GL_OES_byte_coordinates
GL_OES_read_format
GL_OES_fixed_point
GL_OES_single_precision_commands
GL_OES_compressed_paletted_texture
GL_OES_matrix_palette
GL_OES_point_sprite
GL_OES_point_size_array
GL_ARB_vertex_buffer_object
GL_ARB_texture_env_combine
GL_ARB_texture_env_dot3
GL_ARB_texture_env_crossbar
GL_ARB_texture_mirrored_repeat
GL_EXT_stencil_wrap
GL_EXT_blend_minmax
GL_EXT_blend_subtract
GL_EXT_blend_func_separate
GL_EXT_blend_equation_separate
GL_ATI_texture_compression_atitc
GL_ATI_extended_texture_coordinate_data_formats
GL_OES_draw_texture


<답변내용>

GL_EXTENSIONS

GL_OES_fixed_point
GL_OES_single_precision
GL_OES_read_format
GL_OES_query_matrix
GL_OES_point_size_array
GL_OES_point_sprite
GL_OES_compressed_paletted_texture

GL_VENDOR : Hans-Martin Will
GL_RENDERER : Software
GL_VERSION : H?

일단 vincent 1.0 lib를 기준으로 뽑은건데요
Vendor도 정확하게 안나오는거보니 옴니아2 용으로 사용된 것이 아닙니다 

옴2는 OpenGL ES 2.0이라서 아무래도 이걸로 보기에는 정확하게 볼 수 없습니다
비교대상으로 사용하실 것으로 요청을 하신다면 아무래도 x1에서 돌려보신 것을 올려주시고
테스트를 요청하시는 것이 좋겠네요

추가로
옴니아2용으로 나온 opengl ES 라이브러리랑 해더파일을 찾아보니
옴2에서 사용된 CPU인 S3C6410 에 관련된 OpenGL ES Lib가 나오긴 하더군요

하지만, WinCE6라 옴2에서는 동작이 불가능합니다

<추가내용>

GL_IMG_texture_compression_pvrtc
OES_matrix_palette
GL_OES_framebuffer_object
GL_OES_read_format
GL_OES_compressed_paletted_texture
GL_OES_framebuffer_object
GL_OES_stencil8
GL_OES_texture_compression_S3TC
GL_OES_mapbuffer
GL_OES_texture_npot
GL_EXT_texture_compression_s3tc

GL_VENDOR : Samsung Electronics
GL_RENDERER : FIMG
GL_VERSION : 2.0 (lib version 20.02.24)

소니에릭슨 semc_windowsmobile_sdk_beta_1_0_5 에 있는 OpenGL ES Demo로 확인한 것 입니다
물론 여기에 있는 예제만 실행시키면 OpenGL ES v1을 인식못합니다
그래서 삼성 이노베이터에 올라온 OpenGL ES 1.0 compatibility layer v0.256 By GinKage

설치하고 난 뒤에 실행이 가능했습니다

추가로 설치를 해야 한다는 단점을 생각한다면
삼성에서 공식적으로 OpenGL ICD를 제공하지 않는 한 사용하기에는 곤란하겠네요

 

 작성일 :

보다 자세한 정보는 윈도우 폰/모바일 개발자 모임에서 만나보실 수 있습니다
:
Posted by Lunaness