[원문주소] http://cbuilder.borlandforum.com/impboard/impboard.dll/trackback?sn=97053
http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_faq&no=108
Delphi 로 된 Component 를 설치하다 보면 Dsgnintf.dcu 또는 Designintf.dcu 를 찾을 수 없다는
에러 메시지를 보게 됩니다. 이 에러 메시지가 나는 이유는 무엇일까요?

Component 에는 Design Time 에서 사용하기 쉽도록 Component Editor, Property Editor 가
포함되어 있는 경우가 있습니다. Delphi 에서 Design Time 에 필요한 Component Editor, Property Editor 를
사용하기 위해서는 uses 부분에 Designintf 또는 Dsgnintf 를 사용해야 합니다. 어떤 것을 사용할지는
Delphi 버전에 따라 다르겠지요. Delphi 6 이후부터는 Designintf 를 사용합니다.

C++Builder 에서 사용할 경우 약간 까다로운 문제가 발생합니다.
C++Builder 에는 Delphi Compiler 인 dcc32.exe 와 C++ Compiler 인 bcc32.exe 가 공존합니다.
따라서 패키지 파일인 bpk 파일에 두개의 컴파일러를 위한 옵션이 따로 있습니다.

bpk 를 텍스트 에디터로 열어서 그 내용을 보면 다음과 같은 항목이 있습니다.

<CFLAG1 value="-Od -H=$(BCB)\lib\vcl60.csm -Hc -Vx -Ve -X- -r- -a8 -b- -k -y -v -vi- -c
      -tWM"/>
<PFLAGS value="-$YD -$W -$O- -$A8 -v -JPHNE -M"/>


CFLAG1 은 C++ Compiler 인 bcc32.exe 를 위한 옵션입니다.
PFLAGS 는 Delphi Compiler 인 dcc32.exe 를 위한 옵션입니다.

Component 를 C++Builder 로 만들었다면 PACKAGES value 값에 designide.bpi 가 포함됩니다.
<PACKAGES value="rtl.bpi ApLabel_bcb6.bpi designide.bpi vcl.bpi vcljpg.bpi"/>


Delphi 로 Component 를 만들었다면 문제가 발생합니다. Delphi Compiler 인 dcc32.exe 에
designide 패키지를 사용하겠다는 것을 알려주어야 됩니다. 그런데 얄밉게도 Builder 가 알아서
처리하지 못합니다. 따라서 사용자가 수동으로 처리를 해주어야 합니다.

dcc32.exe 의 옵션을 보면 -LU 라는 옵션이 있습니다. 패키지를 사용하겠다는 것을 알려주는
옵션입니다. 이 옵션을 사용자가 수동으로 지정해 줍니다. 다음과 같이 말입니다.

<PFLAGS value="-$YD -$W -$O- -$A8 -v -JPHNE -M -LUDesignIde"/>

+ Recent posts

티스토리 툴바

당신을 잊지 않겠습니다. 그리고, 정치가 썩었다고 눈 돌리지 않겠습니다.