|
머릿속 생각과 실제 할 수 있는 것관 항상 차이가 있긴하겠지만...
제가 생각한게 빌더루 할 순 없는 건가여?
상상빌더 님이 쓰신 글 :
: 차일드 폼이 두개 이상이 되니까 꼬이기 시작하네여
:
: 우선 제가 하려는 것은
: 1. 차일드폼 생성시 차일드폼명과 동일한 파라독스 파일을 생성하고 이 파일을 TableName으로 하는 TTable생성함(참고로 차일드폼이 생성될때마다 만들어지는 파라독스파일은 필드는 변경되지 않고 단지 record만 추가/수정/삭제됩니다)
: 2. 활성화된 차일드폼의 데이터(이미지) 변경시 같이 생성된 파라독스 db파일의 record도 변경함
: 3. 차일드폼이 닫히면 해당 TTable지움.(파라독스 DB파일는 폴더에 남음)
:
: 문젠 차일드 폼이 여러개 되니까 활성화된 차일드폼과 해당 Table을 연결하질 못한다는데 있죠. 제가 의도한 연결상태는
:
: Child1 --- Child1.db --- EqTable[0]
: Child2 --- Child2.db --- EqTable[1]
: Child3 --- Child3.db --- EqTable[2]
: 입니다.
:
: 첨엔 Table 컴포넌트를 미리 Child폼에 놓고 프로그램이 실행되면 활성화된 차일드폼에 따라 폼과 연결된 파라독스파일을 TableName으로 변경하는 방법을 써보기두 했지만 Table이 Busy하다는 등의 에러 메세지만 뜹니다. 그래서 Table을 배열루 만들었는데, 이것두 실패네여. 결국 제가 성공한 것은 같은 이름의 차일드폼과 디비파일은 만드는것 뿐입니다. T.T
:
: 어떻해야 이들을 연결할 수 있을까요?
: 질문을 넘 두서없이 지송하지만 제발 꼭 좀 알려주세요.
:
: //헤더파일(MDIchild.h)
: public:
: TTable *EqTable[20];
:
: //CPP파일
: bool __fastcall TMDIChild::CreateTable(String name)
: {
: AnsiString DatabaseName ="MyDB";
: AnsiString TableName =PATH+"\\"+name+"\\"+name+".db";
: AnsiString exfname;
: exfname=PATH+"\\CPImage.db"; //----> default DB file(필드만 정의되어 있음)
:
: if(!CopyFile(exfname.c_str(),TableName.c_str(),true)){
: ShowMessage("같은 이름이 존재합이다.");
: return false;
: }
: else{
: EqTable[Tcount]=new TTable(this);
: EqTable[Tcount]->Active=false;
: EqTable[Tcount]->DatabaseName = DatabaseName;
: EqTable[Tcount]->TableName = TableName;
: EqTable[Tcount]->TableType = ttParadox;
: EqTable[Tcount]->Active=true;
:
: return true;
: }
:
:
|