안녕하세요.
강의실의 강의 자료중에서
데이터베이스 프로그램과 객체지향 (1) 라파에루 님의 강의롤 보고
따라 해보는데요.
이상하게 오류가 나서요. 질문들입니다.
유닛파일로 엔진을 만들고
========================
type
TDBEngine = class
private
Ta : TTable;
public
constructor Create;
destructor Destroy; override;
procedure Open(FileName: String);
procedure AddRec;
property Table: TTable read Ta; <=== 요것이 문제가 되는 것 같음
end;
var
DBEngine : TDBEngine;
=======================================
데이타소스의 속성중 Dataset 을 통해 property 의 Table를 대입하면
오류창이 떠서 실행이 되지 않네요.
================================================
DBEngine.Open(ExtractFilePath(Application.ExeName) + 'abc.db');
DMdl.DataSource1.DataSet := DBEngine.Table; <== 블레이크가 걸림.
=========================================
강의실 자료와 같이 타이핑을 했는데도 안되네요.
제가 뭔가 잘못을 했나요? ^^;
평안한 시간되세요.
안되는 이유는 알아냈습니다.
코딩문제가 아니라. DataSource1 컴포넌트를 DataModul 안에 넣고
DataSet 속성에 대입하니 않되었습니다.
이것 찾는다고 한참 처다 보고 있었습니다.
그래서 폼에다가 DataSource1 컴포넌트를 놓아 두니 되었습니다.
DBEngine.Open( ExtractFilePath( Application.ExeName ) + 'data.db' );
//DMdl.DataSource1.DataSet := DBEngine.Table; // 모듈안에 넣으면 안됨
DataSource1.DataSet := DBEngine.Table; // 폼 안에서 실행이됨
==========================================
[질문]
그래서 질문 드립니다.
왜 객체지향으로 한다고 해서 모듈안에 넣었는데
대입에서 에러가 가는 것인지 가르쳐 주세요.
평안한 시간되세요.
=========================================