KOL-CE/ko: what changed
Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.
Title: KOL-CE/ko
| Old | New | Line | |
|---|---|---|---|
| 1 | + | ## 소개 | |
| 2 | + | ||
| 3 | + | KOL-CE는 Vladimir Kladov가 개발한 KOL&MCK의 프리 파스칼/라자루스 포트이다(http://f0460945.xsph.ru/rindex.htm). KOL-CE는 Yury Sidorov가 개발하였으며 다음 라이선스하에 배포된다[wxWindows Library Licence](http://www.opensource.org/licenses/wxwindows.php). | |
| 4 | + | ||
| 5 | + | KOL-CE는 매우 컴팩트한 Win32/WinCE GUI 응용프로그램을 생성하게 해준다.(텅 빈 폼을 가진 프로젝트의 실행 파일을 ~40KB 실행파일이 되게 해준다.) | |
| 6 | + | ||
| 7 | + | MCK는 라자루스 IDE에서 KOL-CE 프로젝트를 VISUAL 개발 가능하게 해주는 라자루스 패키지이다. | |
| 8 | + | ||
| 9 | + | 초기에 KOL-CE는 [[WinCE port|WinCE를]] 위한 KOL 포트로서만 계획되었다. 그러나 이것은 나중에 Win32 기능을 하고 FPC를 부드럽게 동작하도록 결정되었다.오리지널 KOL은 델파이를 위해 만들어 졌고 FPC와는 잘 동작하지 않았다. 오리지널 MCK는 라자루스와 함께 사용될 수 없었다. | |
| 10 | + | ||
| 11 | + | ### 요구사항 | |
| 12 | + | ||
| 13 | + | - 프리파스칼 컴파일러 2.2.0 또는 나중의 Win32용 | |
| 14 | + | - arm-wince 크로스 컴파일러 2.2.0 또는 나중의 Win32용(\[\[WinCE port\|WinCE\] 개발을 위해) | |
| 15 | + | - 라자루스 0.9.26 또는 나중의 Win32용 | |
| 16 | + | ||
| 17 | + | ### 지원하는 타겟 | |
| 18 | + | ||
| 19 | + | - 모든 32-비트 윈도우즈: 윈도우즈 95에서 Vista까지 | |
| 20 | + | - [[WinCE port|Windows CE기반]] 포켓 PC 및 스마트폰 | |
| 21 | + | ||
| 22 | + | ## 다운로드 | |
| 23 | + | ||
| 24 | + | 최근의 KOL-CE 배포판을 다운로드한다[이곳](http://sourceforge.net/project/showfiles.php?group_id=188451). | |
| 25 | + | ||
| 26 | + | 또한 가장 최근의 KOL-CE소스를 svn에서 다음 링크를 통해 체크할 수 있다: <https://kol-ce.svn.sourceforge.net/svnroot/kol-ce/trunk> | |
| 27 | + | ||
| 28 | + | ## 설치 | |
| 29 | + | ||
| 30 | + | ------------------------------------------------------------------------ | |
| 31 | + | ||
| 32 | + | **중요:** KOL-CE 2.80.2 `DisableFakeMethods` 정의는 더이상 필요치 않기 때문에. | |
| 33 | + | ||
| 34 | + | 만약 KOL-CE 2.80.1 또는 옛 버전을 사용한다면, MCK 패키지를 설치하기 전에 라자루스를 `DisableFakeMethods` 정의 **없이** 리빌드 해야한다. 그렇지 않으면 **이벤트 핸들러는 동작하지 않을 것이다**! | |
| 35 | + | ||
| 36 | + | 다음과 같이 한다: | |
| 37 | + | ||
| 38 | + | 1. 라자루스 실행. | |
| 39 | + | 2. **Tools \> Configure "Build Lazarus"...**메뉴 아이템 선택 | |
| 40 | + | 3. **Quick Build Options**페이지 상에서 **Clean Up + Build all** 선택 | |
| 41 | + | 4. **Advanced Build Options**페이지를 열고 **Options**입력 필드에서 `-dDisableFakeMethods`를 **제거한다** . | |
| 42 | + | 5. **Build**버튼을 클릭하여 라자루스를 다시 빌드한다. | |
| 43 | + | ||
| 44 | + | ------------------------------------------------------------------------ | |
| 45 | + | ||
| 46 | + | <figure> | |
| 47 | + | <img src="MirrorKOLPackage.png" title="MCK 패키지" /> | |
| 48 | + | <figcaption>MCK 패키지</figcaption> | |
| 49 | + | </figure> | |
| 50 | + | ||
| 51 | + | 1. KOL-CE 소스를 다운로드하고 파일 시스템상의 임의의 폴더에 저장한다. | |
| 52 | + | 2. 라자루스를 실행하고 **Components \> Load package file**메뉴 아이템을 선택한다. 그리고 **MCK**폴더를 찾아서 **`MirrorKOLPackage.lpk`** 파일을 선택한다. | |
| 53 | + | 3. 패키지 윈도우가 나타날 것이다. **Install**버튼을 누른다. | |
| 54 | + | 4. 라자루스는 MCK패키지를 컴파일하고 IDE는 재시작 할 것이다. | |
| 55 | + | 5. 재시작 후 KOL 탭이 컴포넌트 팔레트에 보일 것이다. | |
| 56 | + | ||
| 57 | + | <figure> | |
| 58 | + | <img src="KOLComponents.png" title="|KOL 컴포넌트 팔레트" /> | |
| 59 | + | <figcaption>|KOL 컴포넌트 팔레트</figcaption> | |
| 60 | + | </figure> | |
| 61 | + | ||
| 62 | + | 주의: 만약 팔레트에 모든 KOL 컴포넌트가 보이지 않는다면, 컴포넌트 팔레트의 윈도우를 수직으로 크기 변경해본다. KOL 탬에 두번째 줄의 컴포넌트가 나타날 것이다.(위의 스크린 샷에 보듯이) | |
| 63 | + | ||
| 64 | + | MCK 패키지 업그레이드는 매우 쉽다. KOL-CE 소스의 새로운 버전을 겹쳐 쓰기만 하면 된다, MCK 패키지를 열고 **Install**버튼을 눌러 패키지를 재 컴파일 한다. | |
| 65 | + | ||
| 66 | + | ## MCK 사용 | |
| 67 | + | ||
| 68 | + | ### MCK 프로젝트 생성 | |
| 69 | + | ||
| 70 | + | <figure> | |
| 71 | + | <img src="MCKForm.png" title="MCK 폼" /> | |
| 72 | + | <figcaption>MCK 폼</figcaption> | |
| 73 | + | </figure> | |
| 74 | + | ||
| 75 | + | 1. 라자루스를 시작하고 **File \> New...**메뉴아이템을 선택한다. | |
| 76 | + | 2. **KOL Application**을 **Project**섹션에서 선택하고 **OK**버튼을 누른다. | |
| 77 | + | 3. KOL 응용프로그램을 위한 새로운 프로젝트가 만들어 질 것이다. | |
| 78 | + | 4. 이 프로젝트를 원하는 이름으로 저장한다. | |
| 79 | + | 5. 당신의 이 새로운 KOL/MCK 프로젝트를 실행한다(파라메터 조정, TKOL 제거... 컴포넡트, 컴파일, 실행, 디버그, 등등) 즐겁게! | |
| 80 | + | ||
| 81 | + | ### 폼 추가 | |
| 82 | + | ||
| 83 | + | 1. **File \> New...**메뉴아이템 선택 | |
| 84 | + | 2. **File** 섹션에 있는 **KOL Form**을 선택하고 **OK**버튼을 누른다. | |
| 85 | + | 3. 새로운 폼을 원하는 이름으로 저장한다. | |
| 86 | + | ||
| 87 | + | ### 코드 작성 | |
| 88 | + | ||
| 89 | + | RTL/FCL/LCL에 있는 이름을 사용하지 마라. 특히 SysUtils, Classes, Forms, 등등. 필요한 모든 것은 KOL, Windows, Messages에서 찾아야 한다. 그리고 아마 스스로 작성해야 할 것이다.(또는 다른 소스에서 복사해오던지). 미러 프로젝트에서 코드를 작성할 때 - 종종이벤트 핸들러에 놓을 수 있다. 원하는 어떤 코드라도 더할 수도 있지만, 미러 LCL 폼 클래스 선언의 첫번째 섹션을 변경하는 것은 피하는 것이 좋다. 그리고 자동-생성된 inc-파일은 변경하지 않는 것이 좋다. 항상 미러 프로젝트에서 작성한 당신의 그 코드는 LCL과 KOL 양쪽에서 모두 맏아들일 수 있어야 한다는 것을 명심하라.. LCL에 의해 - 미러 프로젝트를 컴파일 하는 단계에서 (그리고 이것은 꼭 필요한데 이는 그렇지 않으면 다른 미러 프로젝트를 KOL 프로젝트로 변환하는것이 불가능 하기 때문에). KOL에 의해 - KOL 네임스페이스에서 코드를 컴파일 하는 단계에서. | |
| 90 | + | ||
| 91 | + | ### 중요 | |
| 92 | + | ||
| 93 | + | KOL과 LCL에서 다르게 번역되는 `LCL.Self` 와`KOL.@Self` 단어간의 충돌 문제를 해결하기 위해, 특별한 필드가 소개 되었다. `Form`. LCL에서, `TKOLForm`컴포턴트의 `Form` 프로퍼티는 `Self`를 "returns"한다. 즉, 자체의 폼 객체. 그리고 KOL에서 `Form: PControl`는 결과적으로 폼 객체를 포함하는 오브젝트의 필드이다. 이렇기 때문에 다음과 같은 방법으로폼의 프로퍼티를 정확히 변경할 수 있다: | |
| 94 | + | ||
| 95 | + | `Form.Caption := 'Hello!'; ` | |
| 96 | + | ||
| 97 | + | 비록 이전의 Caption := 'Hello!'; 오퍼레이터 형식이, 미러 프로젝트를 KOL로 변환하는 동안 정상적으로 컴파일 하더라도, KOL 환경하에서는 틀린 방법이 될 것이다). 그러나 상기에서 언급한 `Form`이 폼의 프로퍼티에 - 챠일드 컨트롤이 아니다- 접근할 수 있는 유일한 길이다. 차일드 컨트롤과 일반적인 방법으로 폼 이벤트 핸들러에 접근할 수 있다. 예: | |
| 98 | + | ||
| 99 | + | `Button1.Caption := 'OK';`\ | |
| 100 | + | `Button1Click(Form);` | |
| 101 | + | ||
| 102 | + | ### 런타임 폼 생성 | |
| 103 | + | ||
| 104 | + | 실행시에 동일한 폼의 몇몇 인스턴스를 생성할 수 있다. 그리고 최소한, 폼을 AutoCreate가 아니게 만들 수 있으며, 필요할 때 프로그래밍으로 만들 수 있다. 글로벌 함수 `NewForm1` (미러 폼 이름과 함께 Form1 를 대치) 를 사용하라, 예를 들어: | |
| 105 | + | ||
| 106 | + | ` NewForm1( TempForm1, Applet );` | |
| 107 | + | ||
| 108 | + | 이것을 가능하게 하기 위해, 대화를 통해 유니트에서 생성된 글로벌 변수에 접근하려 하지 마라, 그렇게 하는 이유를 알지 못한다면. 대신 폼 변수를 참조하라. | |
| 109 | + | ||
| 110 | + | ## WinCE | |
| 111 | + | ||
| 112 | + | #### 설정 | |
| 113 | + | ||
| 114 | + |  WinCE 실행파일을 컴파일 하기 위해 Win32용 arm-wince 크로스 컴파일러를 설치해야 한다. 구하라. [이곳](http://www.freepascal.org/download.var). | |
| 115 | + | ||
| 116 | + | arm-wince 타겟으로 컴파일하기 위해 **Project \> Compiler options...** 메뉴 아이템에서 프로젝트의 컴파일러 옵션을 연다. **Code** 탭을 열고 타겟 플랫폼을 arm-wince로 변경한다. | |
| 117 | + | ||
| 118 | + | **주의:** KOL-CE 프로젝트를 WinCE용으로 컴파일 하면 다음의 에러를 받을 수 있다: | |
| 119 | + | ||
| 120 | + | `Compiling resource KOL-CE.rc`\ | |
| 121 | + | `arm-wince-windres.exe: no resources`\ | |
| 122 | + | `KOL.PAS(57901) Error: Error while linking`\ | |
| 123 | + | `KOL.PAS(57901) Fatal: There were 1 errors compiling module, stopping`\ | |
| 124 | + | ||
| 125 | + | 이런 경우 윈도우즈의 **PATH** 환경변수를 편집해야 하며, win32 fpc 바이너리가 위치한 폴더를 패스에 추가한다.\ | |
| 126 | + | 어떤 경로거 추가되었는지 확인하기 위해서는 라자루스의 **Environment options**으로 가서 컴파일러 경로를 보라\ | |
| 127 | + | **Quit Lazarus before editing PATH**.\ | |
| 128 | + | **PATH** 변수를 편집하기 위해서는 **내 컴퓨터** 아이콘을 클릭하고 **고급** 탭으로 가서 **환경 변수** 버튼을 클릭한다. | |
| 129 | + | ||
| 130 | + | ### 힌트와 주의 | |
| 131 | + | ||
| 132 | + | - 대부분의 포켓 PC 프로그램이 그렇듯이 폼을 풀스크린으로 만들기 위해서는 폼의 위치와 크기를 변경할 필요가 없다. 만약 폼 크기나 위치가 변한면 폼은 켭션이 있는 다이얼로그와 닫기 버튼과 같이 보일 것이다. MCK에서 TKOLForm의 **defaultSize**와 **defaultPosition**을 True로 설정하여 폼을 풀 스크린으로 만든다. | |
| 133 | + | ||
| 134 | + | #### 알려진 사항들 | |
| 135 | + | ||
| 136 | + | - 다음 컴포넌트는 지원하지 않는다: RichEdit | |
| 137 | + | - 투명과 더블 버퍼링은 지원하지 않는다. | |
| 138 | + | - gsVertical, gsHorizontal 그래디언트 패널 스타일만 지원된다. | |
| 139 | + | - 수평 문자 정렬은 한줄 편집 컨트롤에서는 동작하지 않는다. 텍스트 정렬이 필요하면 메모를 사용하라. | |
| 140 | + | - 수직 텍스트 정렬은 패널과 레이블에서는 동작하지 않는다. | |
| 141 | + | ||
| 142 | + | ## 문서 | |
| 143 | + | ||
| 144 | + | - 문서와 정보를 위해서는 공식 KOL&MCK 웹사이트를 방문하라: <http://kolmck.ru> | |
| 145 | + | - MCK 폴더 내에 있는 **KOLmirrorReadme.txt** 파일내의 MCK 문서를 읽어라 | |
| 146 | + | ||
| 147 | + | ## 실제 프로그램에서의 KOL-CE | |
| 148 | + | ||
| 149 | + | - [패스워드 매니저 XP 모바일](http://www.cp-lab.com/windows-mobile.html) | |
| 150 | + | - [ChARMeD 디스어셈블러](http://blog.carolos.za.net/2007/05/charmed-for-pocket-pc-beta-030.html) | |
| 151 | + | - [WMWifiRouter](http://www.jongma.org/WMWifiRouter/) | |
| 152 | + | ||
| 153 | + | ## 더 볼 것 | |
| 154 | + | ||
| 155 | + | - [공식 KOL&MCK 웹 사이트](http://f0460945.xsph.ru/rindex.htm) | |
| 156 | + | - 소스포지의 KOL-CE 페이지 <http://sourceforge.net/projects/kol-ce/> | |
| 157 | + | - [[WinCE port|프리 파스칼의 WinCE 포트]] | |
| 158 | + | - [[Windows CE Interface/ko|Windows CE 인터페이스]] | |
| 159 | + | - [[Windows CE Development Notes]] | |
| 160 | + | ||
| 161 | + | ## 연락 | |
| 162 | + | ||
| 163 | + | 버그를 보고하고, 패치를 제출하고 질문하는 것은 소스포지의 프로젝트 페이지에서 한다: <http://sourceforge.net/projects/kol-ce/> | |
| 164 | + | ||
| 165 | + | --- | |
| 166 | + | *From the Free Pascal wiki, page "KOL-CE/ko", as it stood on 2021-04-29 after a change by Seenkao, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).* |
