Sign in Join
Wiki copytemporary

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

OldNewLine
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+![arm-wince 타겟](/wiki-images/5/5e/Arm-wince-target.png) 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).*

Back to history