자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 15766
공지 유용한 관련 사이트 관리자2 2014.03.20 54580
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 97983
453 [XE8 출시세미나] RAD Studio XE8 출시세미나 질문과 답변 Humphery 2015.05.01 1536
452 [XE8 출시세미나] RAD Studio 2007에서 XE8로 마이그레이션할 때 검토해야할 사항은 어떤 것이 있나요? [1] 관리자 2015.04.30 266
451 [XE8 출시세미나] 기존에 유니코드가 아니라 ANSI를 사용하고 있습니다. 델파이 2009 버전 이상에서는 무조건 유니코드를 써야하나요? 업그레이드 하더라도 ANSI를 계속 사용하려면 어떻게 하나요? [1] 관리자 2015.04.30 366
450 [XE8 출시세미나] 구글글래스 앱을 만들어야 하는 프로젝트가 있습니다. 델파이로 개발할 수 있나요? [1] 관리자 2015.04.30 483
449 [XE8 출시세미나] 델파이로 윈도우 메트로 UI를 구현할 수 있다고 했는데, 인텔 윈도우가 아닌 윈RT 앱도 만들 수 있나요? [1] 관리자 2015.04.30 413
448 [XE8 출시세미나] 데이터스냅 서버나 EMS 서버를 확장 (Scale out) 할 수 있나요? [1] 관리자 2015.04.30 441
447 [XE8 출시세미나] 앱 애널리틱스 (App Analytics)에는 통계만 저장되나요? 아니면 각 사용자 고유의 정보도 저장되나요? [1] 관리자 2015.04.30 207
446 [XE8 출시세미나] EMS Analytics와 AppAnalytics는 다른건가요? [1] Humphery 2015.04.30 158
445 [XE8 출시세미나] MDM(모바일 단말관리) 솔루션과 연동할 수 있나요? [1] Humphery 2015.04.30 210
444 [XE8 출시세미나] 파이어몽키 앱에서 안드로이드 라이브러리에 포함된 화면(Activity)를 연동하려면 어떻게 하나요? [1] Humphery 2015.04.30 355
443 [XE8 출시세미나] 멀티-디바이스를 지원하기 위해 FMX로 넘어가려고 합니다. 과도기에 VCL 과 FMX를 섞어서 사용할 수 있나요? 관리자 2015.04.30 247
442 [XE8 출시세미나] EMS 푸쉬에서 클라이언트에서 푸쉬메시지 수신확인이 가능한가요? [1] Humphery 2015.04.30 739
441 [XE8 출시세미나] 애플의 핼스킷과 연동할 수 있나요? [1] Humphery 2015.04.30 221
440 [XE8 출시세미나] XE8에서 리눅스를 지원하나요? [1] Humphery 2015.04.30 188
439 [XE8 출시세미나] 추가된 Native HTTP Client가 압축과 암호화를 지원하나요? [1] Humphery 2015.04.30 313
438 [XE8 출시세미나] 델파이로 웹개발도 할 수 있나요? [1] Humphery 2015.04.30 498
437 [XE8 출시세미나] 곧 출시되는 iWatch를 XE8에서 지원하나요? [1] Humphery 2015.04.30 219
436 [XE8 출시세미나] ImageList가 어떤부분이 강화됐나요? [1] Humphery 2015.04.30 295
435 [XE8 출시세미나] XE8에서 윈도우10 버전을 지원하나요? [1] Humphery 2015.04.30 351
434 [XE8 출시세미나] Zigbee, RFID등읜 인터페이스도 있는데 왜? 비콘을 먼저 지원한건가요? [2] Humphery 2015.04.30 367