Sign in Join
Wiki copytemporary

Indy with Lazarus/ko: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: Indy with Lazarus/ko

OldNewLine
1+## 라자루스용 인디
2+
3+인디를 포팅하려는 새로운 시도가 인디 핵심 팀에 의해 착수되고 있다. FPC개발자 마르코 반 데 보르트는 FPC4Lazarus와 완벽하게 작동시키기 위해 인디 코어 포팅 작업하고 있다. 특히 인디의 JP무가스가 FPC와 함께 작업하게 하는 데 크게 기여했다. 대부분의 백엔드는 대부분 그의 작업이기도 하다.
4+
5+현재 Indy10은 거의 완벽하게 작동하고 있으며, 최종 사용자의 사용 편의성이 크게 개선되었습니다. OpenSSL 및 압축과 같은 특수 주제에만 추가적인 지식이 필요할 수 있습니다. 64비트 지원은 완전하게 검증되지 않았습니다.
6+
7+힌트: 카일릭스 인디를 지원할 생각이 없다. (libc unit을 사용한 모든것). 네이티브 유닉스 RTL을 이용한 것만 포팅할 것이다.
8+
9+### 요구사항
10+
11+현재, FPC 2.0.4버전 이상에서 일부버그를 제외한 사용 가능합니다. (FreeBSD/Mac OS X:서버버그 2.1.1버전이상)
12+
13+이제 Indy10은 모든 주요 대상에서 작동하기 때문에 우리는 이버전에 초점을 맞춥니다.
14+
15+Indy9로 변환이 사람들을 위해 간단 할 수도 있지만,그것은 단지는 Win32에서 작동하는 것을 명심하십시오. (그리고 이론적으로 리눅스/x86에 이식 할 수있다).
16+
17+그러므로 가급적 인디10을 사용할 것을 추천합니다.
18+
19+(indy9의 예를 들자면,텔넷 구성 요소가 작동하게하는 tmemorystream.setsize 의 오버라이딩을 제거 할 필요가있을 수 있습니다,하지만 Indy9은 한 동안 테스트되지 않았습니다)
20+
21+이 포트는 매우 안정적이며, JP 무가스(JP Mugaas)는 릴리스의 품질, 포함 메이크 세트를 개선하기 위해 많은 일을했다
22+
23+### 다운로드/링크
24+
25+현재 스냅샷들(for die hards only)
26+
27+- Indy9:
28+ - [Indy9, includes demos](http://www.stack.nl/~marcov/indy/indy9.zip)
29+- Indy10:
30+ - [Indy 10 website](http://www.indyproject.org) (데모 추가)
31+ - Indy10 변환된 데모들 : [converted Indy10 demos](http://www.stack.nl/~marcov/demo10.zip)
32+
33+### 동작 기능과 미구현 기능
34+
35+**Indy9**:
36+
37+- 윈도우에선 대부분 동작한다. 거의 모든 데모가 포팅되었습니다.
38+- 리눅스에선 거의 동작 하지 않는다. Linux/x86계열(카이릭스 제외)을 제외한 대상은 희망이 없습니다. \<-- 거의 모든 리눅스에서 동작하지 않는다(주)
39+
40+**Indy10**:
41+
42+- 윈도우, 유닉스: 클라이언트 동작, 원칙적으로 서버 역시 동작한다.
43+- 유닉스 RTL의 주요기능은 동작한다. OS X, FreeBSD의 서버,클라이언트도 동일하게 동작한다.
44+
45+모든버전: 보안관련 기능은 아직 테스트 되지 않음.
46+
47+### 단기 개발 계획
48+
49+- 데모 소스를 동작하도록 변환 예정.
50+- 버그 수정 및 FPC와 Indy RCS를 재수정 할 계획.
51+
52+### 문제점들
53+
54+- Indy9 및 Indy10 사용에 따른 공통적인 문제, 배포에 발생하는 문제들, 심지어 기본적인 문제점들:
55+ - Indy9 더 사용되고, 업계에서 입증 된 것입니다.
56+ - Indy10 은 보다 나은 이식성을 가지고 있습니다. 그러나 이식률은 낮습니다. 더이상 인디 어디에서도 움직임은 보이지 않습니다 (개선되지 않고 있습니다)
57+- 배포는 어떻게? 라자루스에 속할지,FPC에 속할지.
58+- 많은 패키지와 데모에 다양한 경로(PATH)가 있습니다. 경험이 부족한 개발자가 새로 구축할 수 있도록 문제를 해결하는 방법은 무엇입니까?
59+
60+- 라자루스 문제점들
61+ - 아이콘 사라지는문제
62+ - **해결** ~~인디컴포넌트 구성 탭에 요소가 많아 질 경우, 스크롤 되지 않아 선택할 수 없습니다.~~: JP Mugaas는 인디 클라이언트를 A-M 그리고 N-Z 등으로 분리했습니다. 또한 탭당 2개의 행으로 변경하였습니다.
63+- 인디 데모 (특히Indy10)는 멀티 플랫폼 사용에 매우 적합하지 않습니다. 설정은 윈도우에 특화되어있으며, 공백이 있는 경로, 깊은 디렉토리, 쓸모없는 코드(C# 코드)가 있습니다. 빠른 시간 안에 데모는 재작성되어야 합니다.
64+
65+### 버그
66+
67+- Indy10 서버는 시작 시 예외가 발생하여 종료되기 때문에 동작하지 않는다. FPC 2.2(.0) 또는 그 이상 버전에서 수정되었다.(pthread_kill 문제). 이 문제는 Max OS X에서도 동일하게 나타난다.
68+
69+- 데모를 변환시에, 빈번하게 바인딩 프로버티(속성)가 잘못 변환 되었다. 이러한 원인은 인디가 IP4와 IP6를 동시에 사용해서 동일한 포트로 바인딩 하는것 때문에 비정상적으로 동작 할 수 있다.
70+
71+- Ubuntu 10.04 + Lazarus 0.9.28 + Indy 10(Server Component) -\> launch & do nothing (just crash)
72+
73+해결방법 (bruce0829@yahoo.com.tw collect and organize data):
74+
75+(1).Lazarus Main menu -\> Project -\> Compiler Options -\> Other Page , add the "-dUseCThreads" parameter.
76+
77+(2).force the IdTCPServer to work in Id_IPV4 mode.
78+
79+``` pascal
80+procedure TForm1.FormActivate(Sender: TObject);
81+var
82+ Binding: TIdSocketHandle;
83+begin
84+ //uses idGlobal
85+ //explicitly adding a Binding object prevents TIdTCPServer
86+ //from creating its own default IPv4 and IPv6 Binding objects
87+ //on the same listening IP/Port pair...
88+ //바인딩 개체를 명시적으로 추가하면 TIdTCPServer가
89+ //동일한 수신 IP/포트 쌍에 자체 기본 IPv4및 IPv6바인딩
90+ //개체를 생성할 수 없습니다.
91+ Binding := IdTCPServer1.Bindings.Add;
92+ Binding.IPVersion := Id_IPv4; //optional: forces the Binding to work in Id_IPV4 mode.
93+ Binding.IP := '127.0.0.1';
94+ Binding.Port := 6501; //customization
95+ IdTCPServer1.Active := True;
96+end;
97+```
98+
99+(3)TIdSync를 사용하여, IdTCPServer의 OnExecute() 함수로 GUI를 제어할 수 있습니다.
100+
101+### 설치방법
102+
103+이방법은 완벽하지 않지만,원한다면 다음과 같이 설치를 할 수 있다. :Matthijs
104+
105+- indysystemlaz.lpk 열고 컴파일
106+- indycorelaz.lpk 열고 컴파일
107+- indyprotocolslaz.lpk 열고 컴파일
108+- dclindycorelaz.lpk 열고 컴파일 후 설치
109+- dclindyprotocolslaz.lpk 열고 컴파일 후 설치
110+
111+라자루스 리빌드 후 15개의 인디 컴포넌츠 탭을 볼 수 있을 것이다.
112+
113+### 데비안/우분투 설치방법
114+
115+``` bash
116+# cd indy-10.2.0.1/fpc
117+# chmod +x debian/rules
118+# touch README
119+# sudo apt-get install fakeroot
120+# dpkg-buildpackage -rfakeroot -uc
121+# cd ..
122+# sudo dpkg -i *.deb
123+```
124+
125+- install package indylaz.lpk in lazarus
126+
127+### 리눅스 설치방법\[2\]
128+
129+위의 팁으로 라자루스 Indy를 설치하지 못할 경우,이방법을 시도 할 수 있습니다. - [Yahoo! Brazil, Lazarus Group](http://br.groups.yahoo.com/group/lazarus-brasil/) (User Everaldo)
130+
131+라자루스 0.9.24 버전에서 indy-10.2.0.1 버전 기준
132+
133+- 압축을 풉니다
134+- 디렉토리\$(LazarusDir)\구성 요소\indy-10.2.0.1\로 이동하여"저장된 "디렉토리를 생성합니다.
135+- 위에서 만든 디렉토리에\$(LazarusDir)\구성 요소\indy-10.2.0.1\lazarus\를 "저장된 "디렉토리에 복사합니다.
136+- 디렉터리\$(LazarusDir)\구성 요소\indy-10.2.0.1\fps\를 디렉터리\$(LazarusDir\components)\로 복사합니다.
137+- "저장된 "디렉터리의 내용을 가져오고\$(LazarusDir)\구성 요소\indy-10.2.0.1\lazarus내에 복사하고, 다운받았던 압축 내용은 지워도 됩니다 (주:그럴꺼면 이동을 시키지 ㅡㅡ)
138+- laz.pek(\$(LazarusDir)\구성 요소\indy-10.2.0.1\lazarus\indis)패키지를 기존 방법으로 설치합니다.
139+
140+리눅스 상 경로 : /usr/lib/lazarus/components/indy-10.2.0.1/
141+
142+### 윈도우 설치 방법\[3\], Indy 10.5.8.0 과 그 이상 버전
143+
144+- 동작하기 위해서 라자루스 (그리고 FPC)가 필요하다.
145+- 인디 다운로드 : <http://www.indyproject.org/Sockets/Download/DevSnapshot.EN.aspx>.\
146+ 또는 현재 최신버전: <http://indy.fulgan.com/>
147+- 디렉토리에 압축 풀기
148+- *.pas, *.lrs and *.inc 파일을 \Lib\System, \Lib\Core, 그리고 \Lib\Protocols 하위 폴더에 복사하여 넣거나 새로운 폴더에 생성 후 선택
149+- indylaz.lpk 파일을 \Lib 디렉토리에 복사 하거나 생성된 폴더에 복사 또는 선택
150+- 라자루스 Package -\> Open package file로 indylaz.lpk 열기
151+- Package Options dialog 의 "Unit"필드에 인디 폴더 추가
152+- 컴파일 후 설치(라자루스 리빌드). 수정: 현재,알려진 FPC 버그로, 설치 전 인디 TWICE 패키지를 컴파일 해야 한다.
153+
154+인디10을 사용하려면 프로젝트 옵션 -\>컴파일러 옵션-\>경로의 "Other Unit files (-Fu)"에 인디 디렉토리 추가 후 사용 하면 된다.
155+
156+### 윈도우(기본) 설치방법 - Indy 10.2.03
157+
158+많은 사용자들에게 위에 제시된 정보는 효과가 없거나 버전과 일관성 없는 설명의 차이를 감안할 때 다소 혼동을 줄 수 있다고 확신합니다.
159+
160+
161+이 웹 사이트는 스냅 샷 페이지에서 최신 버전을 다운로드하도록 안내합니다.
162+
163+이 위키는 많은 파일을 디렉토리에 복사하라고 합니다.
164+
165+저에게는, 효과도 없었고, 결국 설치된 라자루스도 엉망이 되고 말았습니다.
166+
167+1. 첫번째, 다음 사이트에서 인디 10.2.03 윈도우 버전을 받는다 [URL](http://www.indyproject.org/Sockets/fpc/index.EN.aspx).\
168+ 다른곳의 파일은 문제가 있으므로 가급적 이곳에서 받기를 추천한다.
169+2. 압축을 풀은 곳에서 다음과 같은 폴더를 찾으세요 : "fpc" 와 "lazarus".
170+ 1. "fpc" 폴더의 내용을 "라자루스디렉토리\fpc\버전\source\packages\indylaz"에 복사하세요.
171+ 2. 라자루스 폴더를 다음 디렉토리에 복사하세요. "라자루스디렉토리\components\indylaz"
172+ 3. 이 두가지를 모두 사용하는 경우에는 지정된 폴더 내에 하위 디렉토리가 없는지 확인하십시오.\
173+ 예) 라자루스디렉토리\components\indylaz\lazarus\\
174+
175+1. 라자루스 메뉴중 "Package" -\> "Open package file" 에서 "indylaz.lpk" 를 엽니다. "라자루스디렉토리\components\indylaz" 에 있습니다.
176+2. "options"를 클릭합니다. 이 단추는 톱니 바퀴가 있는 설정이미지와 비슷한 이미지입니다.
177+3. 왼쪽에 있는 "컴파일러 옵션"을 클릭하고"기타 장치 파일(-Fu)(구분 기호는 세미 콜론)"옆의 ".."버튼을 클릭합니다.\
178+ 위에서 생성한 "fps"폴더를 선택하고 OK(확인)를 클릭합니다.\
179+ Lazarus(BR\>라자루스)가 상대적 경로를 정렬해 드립니다. 바꾸지 마세요.
180+4. OK를 클릭하고, 편집한 다음, 잘못된 설치 방법으로 제대로 설치 되지 않음을 이전의 문서를 만든 사람에게 항의 메일을 보내세요.
181+
182+### 윈도우64비트 이슈사항
183+
184+64비트에서는 아래의 코드가 정상적으로 동작 하지 않습니다. IdAntiFreeze.pas의 내용을 아래와 같이 수정하면 해결할 수 있습니다.
185+
186+수정전:
187+
188+`type`\
189+`  TIdAntiFreeze = class(TIdAntiFreezeBase)`\
190+`  public`\
191+`    procedure Process; override;`\
192+`  end; `
193+
194+수정후:
195+
196+`type`\
197+`  TIdAntiFreeze = class(TIdAntiFreezeBase)`\
198+`  public`\
199+`    {$IFDEF WIN32}`\
200+`    procedure Process; override;`\
201+`    {$ENDIF}`\
202+`  end;`
203+
204+## 외부 링크
205+
206+- [인디프로젝트 공식 사이트](http://www.indyproject.org)
207+
208+---
209+*From the Free Pascal wiki, page "Indy with Lazarus/ko", as it stood on 2020-02-17 after a change by Trev, 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