KOL-CE/ko

From Free Pascal wiki
Jump to: navigation, search

English (en) français (fr) 한국어 (ko) русский (ru) 中文(中国大陆)‎ (zh_CN) 中文(台灣)‎ (zh_TW)

소개

KOL-CE는 Vladimir Kladov가 개발한 KOL&MCK의 프리 파스칼/라자루스 포트이다(http://kolmck.ru). KOL-CE는 Yury Sidorov가 개발하였으며 다음 라이선스하에 배포된다wxWindows Library Licence.

KOL-CE는 매우 컴팩트한 Win32/WinCE GUI 응용프로그램을 생성하게 해준다.(텅 빈 폼을 가진 프로젝트의 실행 파일을 ~40KB 실행파일이 되게 해준다.)

MCK는 라자루스 IDE에서 KOL-CE 프로젝트를 VISUAL 개발 가능하게 해주는 라자루스 패키지이다.

초기에 KOL-CE는 WinCE를 위한 KOL 포트로서만 계획되었다. 그러나 이것은 나중에 Win32 기능을 하고 FPC를 부드럽게 동작하도록 결정되었다.오리지널 KOL은 델파이를 위해 만들어 졌고 FPC와는 잘 동작하지 않았다. 오리지널 MCK는 라자루스와 함께 사용될 수 없었다.

요구사항

  • 프리파스칼 컴파일러 2.2.0 또는 나중의 Win32용
  • arm-wince 크로스 컴파일러 2.2.0 또는 나중의 Win32용([[WinCE port|WinCE] 개발을 위해)
  • 라자루스 0.9.26 또는 나중의 Win32용

지원하는 타겟

  • 모든 32-비트 윈도우즈: 윈도우즈 95에서 Vista까지
  • Windows CE기반 포켓 PC 및 스마트폰

다운로드

최근의 KOL-CE 배포판을 다운로드한다이곳.

또한 가장 최근의 KOL-CE소스를 svn에서 다음 링크를 통해 체크할 수 있다: https://kol-ce.svn.sourceforge.net/svnroot/kol-ce/trunk

설치


중요: KOL-CE 2.80.2 DisableFakeMethods 정의는 더이상 필요치 않기 때문에.

만약 KOL-CE 2.80.1 또는 옛 버전을 사용한다면, MCK 패키지를 설치하기 전에 라자루스를 DisableFakeMethods 정의 없이 리빌드 해야한다. 그렇지 않으면 이벤트 핸들러는 동작하지 않을 것이다!

다음과 같이 한다:

  1. 라자루스 실행.
  2. Tools > Configure "Build Lazarus"...메뉴 아이템 선택
  3. Quick Build Options페이지 상에서 Clean Up + Build all 선택
  4. Advanced Build Options페이지를 열고 Options입력 필드에서 -dDisableFakeMethods제거한다 .
  5. Build버튼을 클릭하여 라자루스를 다시 빌드한다.

MCK 패키지
  1. KOL-CE 소스를 다운로드하고 파일 시스템상의 임의의 폴더에 저장한다.
  2. 라자루스를 실행하고 Components > Load package file메뉴 아이템을 선택한다. 그리고 MCK폴더를 찾아서 MirrorKOLPackage.lpk 파일을 선택한다.
  3. 패키지 윈도우가 나타날 것이다. Install버튼을 누른다.
  4. 라자루스는 MCK패키지를 컴파일하고 IDE는 재시작 할 것이다.
  5. 재시작 후 KOL 탭이 컴포넌트 팔레트에 보일 것이다.

KOL 컴포넌트 팔레트

주의: 만약 팔레트에 모든 KOL 컴포넌트가 보이지 않는다면, 컴포넌트 팔레트의 윈도우를 수직으로 크기 변경해본다. KOL 탬에 두번째 줄의 컴포넌트가 나타날 것이다.(위의 스크린 샷에 보듯이)

MCK 패키지 업그레이드는 매우 쉽다. KOL-CE 소스의 새로운 버전을 겹쳐 쓰기만 하면 된다, MCK 패키지를 열고 Install버튼을 눌러 패키지를 재 컴파일 한다.

MCK 사용

MCK 프로젝트 생성

MCK 폼
  1. 라자루스를 시작하고 File > New...메뉴아이템을 선택한다.
  2. KOL ApplicationProject섹션에서 선택하고 OK버튼을 누른다.
  3. KOL 응용프로그램을 위한 새로운 프로젝트가 만들어 질 것이다.
  4. 이 프로젝트를 원하는 이름으로 저장한다.
  5. 당신의 이 새로운 KOL/MCK 프로젝트를 실행한다(파라메터 조정, TKOL 제거... 컴포넡트, 컴파일, 실행, 디버그, 등등) 즐겁게!

폼 추가

  1. File > New...메뉴아이템 선택
  2. File 섹션에 있는 KOL Form을 선택하고 OK버튼을 누른다.
  3. 새로운 폼을 원하는 이름으로 저장한다.

코드 작성

RTL/FCL/LCL에 있는 이름을 사용하지 마라. 특히 SysUtils, Classes, Forms, 등등. 필요한 모든 것은 KOL, Windows, Messages에서 찾아야 한다. 그리고 아마 스스로 작성해야 할 것이다.(또는 다른 소스에서 복사해오던지). 미러 프로젝트에서 코드를 작성할 때 - 종종이벤트 핸들러에 놓을 수 있다. 원하는 어떤 코드라도 더할 수도 있지만, 미러 LCL 폼 클래스 선언의 첫번째 섹션을 변경하는 것은 피하는 것이 좋다. 그리고 자동-생성된 inc-파일은 변경하지 않는 것이 좋다. 항상 미러 프로젝트에서 작성한 당신의 그 코드는 LCL과 KOL 양쪽에서 모두 맏아들일 수 있어야 한다는 것을 명심하라.. LCL에 의해 - 미러 프로젝트를 컴파일 하는 단계에서 (그리고 이것은 꼭 필요한데 이는 그렇지 않으면 다른 미러 프로젝트를 KOL 프로젝트로 변환하는것이 불가능 하기 때문에). KOL에 의해 - KOL 네임스페이스에서 코드를 컴파일 하는 단계에서.

중요

KOL과 LCL에서 다르게 번역되는 LCL.SelfKOL.@Self 단어간의 충돌 문제를 해결하기 위해, 특별한 필드가 소개 되었다. Form. LCL에서, TKOLForm컴포턴트의 Form 프로퍼티는 Self를 "returns"한다. 즉, 자체의 폼 객체. 그리고 KOL에서 Form: PControl는 결과적으로 폼 객체를 포함하는 오브젝트의 필드이다. 이렇기 때문에 다음과 같은 방법으로폼의 프로퍼티를 정확히 변경할 수 있다:

Form.Caption := 'Hello!'; 

비록 이전의 Caption := 'Hello!'; 오퍼레이터 형식이, 미러 프로젝트를 KOL로 변환하는 동안 정상적으로 컴파일 하더라도, KOL 환경하에서는 틀린 방법이 될 것이다). 그러나 상기에서 언급한 Form이 폼의 프로퍼티에 - 챠일드 컨트롤이 아니다- 접근할 수 있는 유일한 길이다. 차일드 컨트롤과 일반적인 방법으로 폼 이벤트 핸들러에 접근할 수 있다. 예:

Button1.Caption := 'OK';
Button1Click(Form);

런타임 폼 생성

실행시에 동일한 폼의 몇몇 인스턴스를 생성할 수 있다. 그리고 최소한, 폼을 AutoCreate가 아니게 만들 수 있으며, 필요할 때 프로그래밍으로 만들 수 있다. 글로벌 함수 NewForm1 (미러 폼 이름과 함께 Form1 를 대치) 를 사용하라, 예를 들어:

 NewForm1( TempForm1, Applet );

이것을 가능하게 하기 위해, 대화를 통해 유니트에서 생성된 글로벌 변수에 접근하려 하지 마라, 그렇게 하는 이유를 알지 못한다면. 대신 폼 변수를 참조하라.

WinCE

설정

arm-wince 타겟

WinCE 실행파일을 컴파일 하기 위해 Win32용 arm-wince 크로스 컴파일러를 설치해야 한다. 구하라. 이곳.

arm-wince 타겟으로 컴파일하기 위해 Project > Compiler options... 메뉴 아이템에서 프로젝트의 컴파일러 옵션을 연다. Code 탭을 열고 타겟 플랫폼을 arm-wince로 변경한다.

주의: KOL-CE 프로젝트를 WinCE용으로 컴파일 하면 다음의 에러를 받을 수 있다:

Compiling resource KOL-CE.rc
arm-wince-windres.exe: no resources
KOL.PAS(57901) Error: Error while linking
KOL.PAS(57901) Fatal: There were 1 errors compiling module, stopping

이런 경우 윈도우즈의 PATH 환경변수를 편집해야 하며, win32 fpc 바이너리가 위치한 폴더를 패스에 추가한다.
어떤 경로거 추가되었는지 확인하기 위해서는 라자루스의 Environment options으로 가서 컴파일러 경로를 보라
Quit Lazarus before editing PATH.
PATH 변수를 편집하기 위해서는 내 컴퓨터 아이콘을 클릭하고 고급 탭으로 가서 환경 변수 버튼을 클릭한다.

힌트와 주의

  • 대부분의 포켓 PC 프로그램이 그렇듯이 폼을 풀스크린으로 만들기 위해서는 폼의 위치와 크기를 변경할 필요가 없다. 만약 폼 크기나 위치가 변한면 폼은 켭션이 있는 다이얼로그와 닫기 버튼과 같이 보일 것이다. MCK에서 TKOLForm의 defaultSizedefaultPosition을 True로 설정하여 폼을 풀 스크린으로 만든다.

알려진 사항들

  • 다음 컴포넌트는 지원하지 않는다: RichEdit
  • 투명과 더블 버퍼링은 지원하지 않는다.
  • gsVertical, gsHorizontal 그래디언트 패널 스타일만 지원된다.
  • 수평 문자 정렬은 한줄 편집 컨트롤에서는 동작하지 않는다. 텍스트 정렬이 필요하면 메모를 사용하라.
  • 수직 텍스트 정렬은 패널과 레이블에서는 동작하지 않는다.

문서

  • 문서와 정보를 위해서는 공식 KOL&MCK 웹사이트를 방문하라: http://kolmck.ru
  • MCK 폴더 내에 있는 KOLmirrorReadme.txt 파일내의 MCK 문서를 읽어라

실제 프로그램에서의 KOL-CE

더 볼 것

연락

버그를 보고하고, 패치를 제출하고 질문하는 것은 소스포지의 프로젝트 페이지에서 한다: http://sourceforge.net/projects/kol-ce/