강좌,팁

[강좌020]실행시에 uir파일을 사용하지 맙시다.

조회 수 13338 추천 수 0 2003.12.19 12:42:21
야리싸내 *.113.210.20




안녕하세요...야리싸내라고 합니다..

강좌라고 하기엔 뭐하지만 ^^
메뉴가 강좌 페이지라서 일단은 강좌라는 제목을 달았습니다..

cvi를 이용해서 프로그램을 만들면 늘상 따라다니는게 uir화일입니다..
어떻게 저걸 없앨수 있을까..예전부터 고민을 했었는데...

오늘..문득...cvi 전 메뉴를 확인하다보니까...

Tools 메뉴 아래에 UI to Code Converter.. 라는 메뉴가 있습니다..

기본적인 컨셉은...
먼저 uir파일에서 각종 화면을 구성한 후에...(완벽하게...수정할꺼 없이요..)
이렇게 완성된 uir을 UI to Code Converter를 해서..변환하면
C 화일이 하나 생기는데요..여기에는 uir로 구성해 놓은 화면을
기본 BuildPANEL 이라는 함수 안에서 다...만들어 줍니다...
그래서..메인 함수에서 uir화일을 로딩하지 않고.. BuildPANEL함수를 호출하면 uir파일을 로딩한 것과 같은 효과가 납니다..

사용하는 방법은요..
Tools 메뉴 아래에 UI to Code Converter.. 라는
메뉴를 선택하면 그림처럼 화면이 나타나는데요..

UI Panles 에 "Add"버튼을 눌러서...
변환하고자 하는 uir파일을 등록합니다.
그러면..Panel Function Name 항목에 기본 함수로 BuildPANEL이라는 이름이 주어집니다..

다음 오른쪽에 OutPut Target에 헤더파일과 생성될 소스코드 파일 명을 적어주면 됩니다.

아래쪽에 Options를 보면...
Skip default options.. 는 컨트롤들의 기본 설정값들은 주석문으로 달아 놓습니다...

Options는 기본 대로 설정하셔도 무방합니다..
이렇게 한 후에..."Generate Code" 버튼을 눌르면...소스코드가 생성됩니다.
//----------------------------------------------------------------------------------------------------
// BuildPANEL ():  Build UI object PANEL; return handle or standard UI error code.
//----------------------------------------------------------------------------------------------------
int BuildPANEL (int hParentPanel)

그럼 다음에 아래와 같이..main 함수에서 또는 프로그램 내에서 LoadPanel 함수 대신에
생성된 BuildPANEL 함수를 호출하면 됩니다...
int __stdcall WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                       LPSTR lpszCmdLine, int nCmdShow)
{
        if (InitCVIRTE (hInstance, 0, 0) == 0)
                return -1;        /* out of memory */
//        if ((panelHandle = LoadPanel (0, "DataAcqTest.uir", PANEL)) < 0)
//                return -1;
        panelHandle = BuildPANEL(0);
        DisplayPanel (panelHandle);
        RunUserInterface ();
        DiscardPanel (panelHandle);
        return 0;
}

이렇게 하여 프로그램을 배포버전으로 만들 경우에 UIR파일이 전혀 필요없습니다.

허창원

2003.12.19 19:35:39
*.59.121.140

그렇군요. 좋은 팁을 알려줘서 감사합니다. 이런 방법이 있을 거라고는 생각했지만, 바빠서 좀 불편해도 그냥 사용했는데, 이젠 이 방법을 이용해봐야겠네요...

이상근

2003.12.23 17:37:33
*.76.250.26

저 스샷은 버전이 어떻게 되죠? 전 지금 5.5를 사용하고 있는데.. ^^;

야리싸내

2003.12.24 09:19:15
*.113.210.20

스샷은..6.0인데..5.5에도 있어요...^^

정말

2004.04.02 04:14:28
*.170.242.169

유용한 팁이었습니다. 감사합니다.

개굴개굴

2004.08.13 08:32:36
*.79.24.59

우와~~~! 이런 팁을 어떻게 알아냈지? 대단하군요...배포버젼 만들때 정말 유용하겠당.

허창원

2005.01.22 21:47:58
*.19.44.231

"[팁:8] UIR 파일을 실행파일에 포함하는 방법"을 참고하세요.
더욱 간단합니다.
List of Articles
번호 제목 글쓴이 날짜 조회 수
56 [팁:6] 배포판(설치) 프로그램에 데이터 폴더 포함하기 허창원 2004-05-20 14916
55 [팁:5] Parallel Port 이용할 때, CVI Low-level support driver [2] 허창원 2004-05-18 12860
54 [팁004]팁아닌...팁..Text Message오른쪽 정렬..... [4] 야리싸내 2004-02-02 14964
53 객체의 위치값을 이용한 퍼즐 게임. file [2] 조인배 2004-01-09 13724
» [강좌020]실행시에 uir파일을 사용하지 맙시다. file [6] 야리싸내 2003-12-19 13338
51 [강좌:019] CVI 런타임엔진과 설치 프로그램 허창원 2003-12-08 14648
50 그래프에 Zoom 기능을 만들어봤습니다.. ^^ file 야리싸내 2003-09-30 13393
49 헉..ㅠ_ㅠ;; 죄송합니다..위에 첨부파일에 소스가 없네요....ㅠ_ㅠ; file 야리싸내 2003-11-26 13338
48 [팁:003] NI DAQ 프로그래밍 예제 얻기 file 허창원 2003-08-11 14858
47 켄바스 기능을 이용한 아날로그시계 file [1] 조인배 2003-07-09 14545
46 [강좌:018] 따라하기 13. AudioPlayer(MP3, WMA, ASF, WAV 등) (2) 허창원 2003-04-11 13230
45 [강좌:018] 따라하기 13. AudioPlayer(MP3, WMA, ASF, WAV 등) (1) [1] 허창원 2003-04-11 14697
44 [강좌:017] 따라하기 12. 재사용 가능한 Library(static lib, DLL) 만들기 허창원 2003-04-11 15481
43 [팁:003] 종료시 MS Office와의 충돌 피해가는 대안 [2] 허창원 2003-04-01 13561
42 [강좌:016] 따라하기 11. 데이터 뷰어3로 업그레이드하기 (2) 허창원 2003-03-19 13875
41 [강좌:016] 따라하기 11. 데이터 뷰어3로 업그레이드하기 (1) 허창원 2003-03-19 12743
40 [강좌:015] 따라하기 10. 초기설정파일(ini) 이용하기 (3) [2] 허창원 2003-02-25 14019
39 [강좌:015] 따라하기 10. 초기설정파일(ini) 이용하기 (2) [2] 허창원 2003-02-25 12546
38 [강좌:015] 따라하기 10. 초기설정파일(ini) 이용하기 (1) [2] 허창원 2003-02-25 14840
37 [강좌:014] 따라하기 9. 터치스크린에서 숫자 입력하기 (3) [4] 허창원 2003-01-15 12502