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

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

2012.04.18 00:20

hyunj 조회 수:9193

저희가 사용하는 자연언어처리 프로그램을 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 15634
공지 유용한 관련 사이트 관리자2 2014.03.20 54464
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 97828
699 [XE6] 안드로이드 개발중입니다. [3] 어려워 2014.11.17 1306
698 [XE6] 안드로이드 웹브라우저로 띄우기 [1] 가을이다 2015.02.23 1312
697 NFC 관련 앱을 XE 시리즈로 개발 가능한지요? [1] 유탐호호 2014.09.02 1317
696 MDI, CHILD 구성 DLL Form Close [1] 가나다 2021.01.11 1317
695 [세미나] VCL 말고 웹(PHP) 등에서도 푸시 보낼 수 있나요? [1] Humphery 2014.08.20 1322
694 [안드로이드] 앱 배포후 업데이트시 overwrite 안됩니다.해결방법좀 알려주세요 ㅠ. [2] 한사람 2016.03.27 1344
693 [세미나] BaaS에서 아이디와 이메일 중복확인 기능을 제공하나요? [1] Humphery 2014.08.05 1345
692 [XE5] XE5에선 GCM 사용이 불가능한가요? [1] 와니 2014.10.17 1346
691 xe10.1에서 ActiveX , *.ocx 설치방법 부탁합니다 [3] 모나도 2016.11.04 1346
690 안드로이드 스플래시 이미지 문의 드립니다. [2] 타락천사 2015.03.09 1349
689 DataSnap에서 NetWork 여러개인 경우 파빌신 2014.04.30 1354
688 환경파일에서 "The imported project file could not be loaded. '', hexadecimal value 0x01, is an invalid character." 오류 발생 시 조치사항 [4] Humphery 2014.11.28 1362
687 [세미나] XE7에서는 컴파일 크기가 개선되었나요? [1] Humphery 2014.09.17 1363
686 Beacon, Bluetooth, Bluetooth LE 동시 접속 문의 [2] 이정이남편 2015.08.25 1364
685 WINEXEC 관련해서 문의드립니다 [3] file jcitec 2015.05.16 1365
684 실행파일 output 경로설정을 하고싶습니다. [4] 불청객 2015.08.04 1367
683 바코드로부터 입력과 키보드 입력을 어떻게 구분하나요? [1] from5 2016.01.09 1369
682 [세미나] 코드아카데미(BaaS 온라인 강의) 질문답변 Humphery 2014.07.30 1370
681 XE6 ScrollBox 문의드립니다. file 신동근 2014.10.22 1373
680 des암호화 복구화 대해서 알고 싶습니다 [1] 헨씀히포 2017.02.28 1380