자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)

Delphi 라이브러리, TZMySqlQuery 객체 생성

2012.04.18 00:20

hyunj 조회 수:9195

저희가 사용하는 자연언어처리 프로그램을 update하는 과정에서 다음 문제가 발생했습니다.

이미 여러 경로로 문의해 보았으나 좋은 답을 얻지 못했습니다. Devgear의 도움으로 이 문제를 해결할 수 있었으면 좋겠네요.

 

해결했으면 하는 문제의 요약:
우리는 zeosdbo라는 DB 라이브러리를 사용하는 델파이 기반 프로젝트를 인수받아 관리하고 있습니다. 그런데 우리가 갖고 있는 라이브러리 소스로는 델파이 내부에 컴포넌트 등록을 할 줄을 몰라서, 해당 프로그램이 EXE로 빌드는 되지만 TZMySqlQuery 같은 객체들은 생성되지 않고 NULL인 채로 실행되어 프로그램이 제대로 동작하지 않습니다.
그래서 문제를 재연할 수 있는 최소한의 케이스만 떼어낸 아주 자그마한 예제 프로젝트를 첨부하니, 이 프로젝트 내부에서 TZMySqlQuery 객체가 제대로 생성되게 라이브러리를 새롭게 빌드/설치하거나 개발툴을 세팅하는 방법을 델파이 초보의 입장에서 자세히 알려 주시기를 요청드립니다. (델파이 XE2 기준)
모르면 어렵지만 델파이를 제대로 줄 아는 분이라면 금방 해결 가능하거나, 무엇 때문에 막히고 있는지를 곧장 진단할 수 있는문제이지 않을까 예상됩니다.
문제를 재연하는 법:
1. 첨부하는 Projects.zip을 내 문서 폴더 아래에 압축을 풉니다. 그리고 첨부하는 zeosdbo_lib.zip도 역시 내 문서 폴더 아래 별도의 폴더에다 폴더 구조를 모두 유지하면서 압축을 풉니다.
2. 델파이를 실행하여 Project.zip에 있던 Sample.dproj 프로젝트를 엽니다.
그 후, Project-Options (Shift+Ctrl+F11)로 가서 Delphi Compiler-Search path에는 아까 압축을 푼 zeosdbo 라이브러리 아래의 dbase와 common 디렉터리를 추가합니다. 현재 저희 개발 환경을 기준으로 맞춰져 있는 위치를 그쪽에 맞게 바꾸면 됩니다.
3. 그 뒤 F9를 눌러 보면 프로그램이 정상적으로 빌드되고 실행은 될 것입니다. 라이브러리 관련 파일들까지 인클루드되어 빌드됩니다. 하지만 폼에서 Button1을 클릭해 보시면 프로그램이 죽는데, 이는 내부에서 TZMySqlQuery 형으로 선언된 객체가 생성되지 못하고 NULL이기 때문입니다.
사실, Unit1.pas를 고친 뒤에 다시 빌드를 하면 아래와 같은 에러 메시지가 뜨기도 합니다.
Field Form1.qTemp does not have a corresponding component. Remove the declaration?
이것이 안 뜨게 하는 것이 핵심입니다.
아마 개발툴 설정이 잘 되면 델파이의 컴포넌트 팔레트 자체에 zeosdbo 라이브러리 관련 컴포넌트들이 등록되지 않을까 하는 추측이 듭니다.
번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 15759
공지 유용한 관련 사이트 관리자2 2014.03.20 54576
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 97971
1119 android API file leejh 2015.12.14 118
1118 cannot resolve unit name 'Winapi. windows' file charlesseo 2015.12.15 829
1117 OPEN API 를 이용하여 개발하려고 합니다. [2] 카이로스 2015.12.12 508
1116 컴포넌트 문의 드립니다. [1] secret sue 2015.12.11 4
1115 서비스명을 알수 있나요? [1] kim 2015.12.11 109
1114 파일복사 관련 문의입니다. [1] 굿네이처스 2015.12.11 312
1113 DB Express관련입니다 [1] secret 호로록 2015.12.11 4
1112 WebBrowser에서 메모리를 줄일수 있나요? kim 2015.12.11 143
1111 release에서 Run하면 에러발생합니다. kim 2015.12.10 315
1110 ClientDataSet을 XML로 저장시 [1] 라시드 2015.10.26 372
1109 [XE8] 세로고정모드에서 가로 풀화면 만들기 [1] 가을이다 2015.12.08 559
1108 Delphi 10 Seattle 에서 DevExpress v15.1.5 버전이 설치가 되지 않습니다. [3] 도사 2015.12.08 821
1107 BindingsList 에 LinkList 를 추가하는 방법을 알고 싶습니다. [2] file 거북이 2015.12.05 152
1106 Webbrowser에서 텍스트나 html 소스를 가져오고 싶습니다. [1] 다서짱 2015.12.04 1196
1105 sns공유 기능문의 [1] 사랑남 2015.12.07 342
1104 DBX에러..긴급 답변요청합니다. [1] secret kjm 2015.12.07 9
1103 안드로이드에서 Free 가 안되는 이유가 왜인가요? [1] 거북이 2015.12.05 180
1102 [재문의]seattle 버전 ios9 "External Exception 434C4E47432B2B00" 에러 [3] 사랑남 2015.11.20 647
1101 롤리팝에서 프로그램이 구동되지 않습니다 [4] 위드유 2015.12.02 418
1100 [질문]FastReport 리소스 파일을 한글로 바꿨는데, 이 리소스를 어떻게 적용을 시키는 거죠? [2] file 바람돌이 2015.12.01 863