2010-08-21 1 views
2

저는 컴포넌트와 여러 클래스를 포함하는 Delphi 2007 패키지를 작성하고 있습니다. 구성 요소는 물론 클래스도 "설치"하고 싶습니다.Delphi 2007의 구성 요소와 같은 클래스 또는 단위를 설치하는 방법은 무엇입니까?

정확하게 말하면 : 구성 요소가 설치되면 프로젝트의 검색 경로에 경로를 추가 할 필요가 없도록 장치가 어떻게 든 등록됩니다. 구성 요소가없는 몇 가지 추가 단위로이 작업을 수행하고 싶습니다. 패키지의 루트를 어떻게 든 등록 할 수 있으면 완료됩니다. 이것이 가능한가?

편집 : 한 문장으로 목표는 입니다. 누군가 내 패키지를 설치하면 패키지의 단위에 대한 경로를 추가 할 필요가 없으므로 델파이의 라이브러리 경로에 추가됩니다 (이럴 필요는 없습니다). 손으로 완료).

+2

나에게 묻지 않고 라이브러리 경로를 엉망으로 만드는 구성 요소 라이브러리를 좋아하지 않습니다. 사실 환경 옵션 라이브러리 경로가 비어 있습니다. 표준 bds 라이브러리 경로조차도 거기에 없습니다. –

+0

@ Marjan Venema : 좋은 지적. 나는 그것을 염두에 두겠다! – Martijn

답변

1

간단한 구성 요소 패키지를 만들 때 일반적으로 라이브러리 경로에 경로를 추가하는 대신 "Unit Output Directory"패키지 옵션을 $ (BDSCOMMONDIR) \ Dcp로 설정합니다. 더 간단합니다. 당신은 예를 들어 내 ksTools package을 다운로드 할 수 있습니다 - 그것은 자세한 설치 지침은 순수 소스 코드 패키지입니다

0

dcluser.dpk에 추가하고 컴파일하면 충분할까요?

+0

나는 정말로 (duseder.dpk를 사용하지 않았다.) 나는 모른다. 문제를 명확하게하기 위해 질문을 수정했습니다. – Martijn

3

더 정확하게하려면 다음 구성 요소 가 설치되어있는 경우, 장치가 어떻게 든 것이 필요 되지 않도록 등록 상표입니다 프로젝트의 경로 인 에 경로를 추가하십시오.

이 장치는 어디에도 등록되어 있지 않습니다. 구성 요소가 설치되면 IDE가 시작될 때 알려진 패키지 목록에 상주하는 bpl 패키지가 추가되고 알려진 패키지 각각의 등록 절차 (대문자 참고)가 호출됩니다. 이 Register 프로시 저는 도구 팔레트에 등록 된 구성 요소를 가져 오는 코드를 포함합니다.

구성 요소 패키지를 올바르게 설정하면 구성 요소를 양식에 놓을 때 IDE가 양식의 uses 절에 추가 할 단위를 알 수 있습니다.

환경 옵션의 라이브러리 경로는이 모든 부분이 아닙니다. 구성 요소를 설치하여 수정하는 경우 구성 요소의 bpl을 IDE에 추가하는 것 이외에 별도의 작업으로 구성 요소의 설치 프로그램에서 수행합니다.

+0

자세한 설명 주셔서 감사합니다. 요점은 어떻게 든 Delphi는 소스 코드 (IDE에서 uses 절을 통해 액세스 할 수 있음)를 찾는 것을 알고 있는데, 이것이 내가 달성하고자하는 것입니다. 라이브러리 경로를 업데이트하는 것은 물론 별도의 작업입니다 (이 작업을 수행하는 방법을 모르겠습니다). 그러나 내가 후미에있는 작업을 수행합니다. – Martijn

+2

@Martijn : 사용중인 유닛을 Ctrl- 클릭하거나 마우스 오른쪽 버튼을 클릭하여 "커서로 파일 열기"를 선택하면 델파이는 라이브러리 경로에있는 소스를 찾을 수 있기 때문에 소스를 어디에서 찾을 수 있는지 알고 있습니다! 또는 "탐색"경로에 있습니다. 델파이는 유닛이 어디에 있는지 알 수있는 다른 방법이 없습니다.사실, 두 경로를 비우면 Delphi는 모든 구성 요소의 소스를 찾지 못합니다. –

+0

다시 한번 : 정보 주셔서 감사합니다! – Martijn

0

IDE는 패키지와 관련된 DCU가 저장되는 위치를 알아야합니다. 이 방법은 IDE의 "Library Path"에 실제 경로 (DCU가있는 곳)를 추가하거나 라이브러리 경로로 이미 등록 된 위치에 저장하는 것을 의미합니다.

관련 문제