자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 15767
공지 유용한 관련 사이트 관리자2 2014.03.20 54580
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 97985
659 Delphi XE6 에서 IdFTP 문의 합니다. [1] 파빌신 2014.07.30 1442
658 Exception in safecall method 발생 superman 2014.10.29 1442
657 [DelphiXE7] 컨트롤을 동적생성하여 해제하면 Form을 닫을 수 없게 됩니다. [3] file 사조성 2014.12.21 1445
656 Open ssl 과 indy 관련 질문입니다. [8] 현수막 2019.01.23 1446
655 Camera Component예제 응용에 관한 질문 [2] 아크나톤 2017.11.25 1449
654 델파이 이벤트 처리시 에러입니다. [1] file 시크원 2014.07.19 1453
653 바코드 프린터 제어 관련 [3] JJ 2015.02.06 1457
652 delete 문을 TServerMethods1 을 통해서 하려니까 Error가 나네요? [1] 어려워 2014.07.23 1460
651 비콘을 이용한 푸시메시지 앱을 개발하기 위해 안드로이드 서비스개발은 어떻게 하나요? [1] Humphery 2015.08.25 1461
650 델파이 XE7에서 ClientDataSet1 에 환경설정 하고 ACTIVE 을 True 하면 Access violation at address 50BDDD17 in module 'dsnap210.bpl'. Read of address 00000000. 라는 오류메세지가 나옵니다 [3] delphi 2015.07.13 1465
649 겔럭시S6 앱 실행시 하얀 화면만 나옵니다. [1] 사랑남 2015.08.20 1467
648 Visual Studio C++ DLL 사용 시 CString 처리는... [1] 신지 2015.04.20 1468
647 퀵리포트를 PDF로 변환하고자 합니다. [2] 손승규 2016.03.10 1468
646 앱 광고 적용하는 방법.. [1] file 김하나 2014.04.26 1469
645 REST Debugger Json파싱 문의 [3] file 김태윤 2016.03.31 1469
644 사용자 지정 텍스트 크기(DPI) 설정. [1] file 김재욱 2016.01.22 1477
643 file->new->other->datasnap server탭-> datasnap server 아이콘이 갑자기 안나타납니다. [1] 어려워 2014.07.07 1481
642 [세미나] 6월 10일 웹세미나의 질문답변 Humphery 2014.06.12 1486
641 [XE6] 잘 되던 놈이 갑자기 이런메세지가 나네요.... 어려워 2014.11.22 1486
640 [XE6] InApp 결제 개발 가을이다 2014.10.23 1488