저번의 질문에 답변해 주신것에 감사드립니다.
하지만 저의 부족한 실력(?)으로 해결하지 못했습니다.
일단 table을 Pack을 시키는것입니다
procedure TForm1.Button4Click(Sender: TObject);
var
iResult : DBIResult;
szErrMsg : DBIMSG;
pTblDesc : pCRTblDesc;
bExclusive : Boolean;
bActive : Boolean;
begin
// 1)
// 일단 BDE함수를 적용한것인데....
with Table1 do begin
bExclusive := Exclusive;
bActive := Active;
DisableControls;
Close;
Exclusive := True;
end;
// Table Pack // Paradox
Begin
GetMem(pTblDesc, SizeOf(CRTblDesc));
FillChar(pTblDesc^,SizeOf(CRTblDesc),0);
iResult := DbiDoRestructure(Table1.DBHandle, 1,
pTblDesc, nil, nil, nil,False);
if iResult <> DBIERR_NONE then Begin
MessageDlg('Table Pack Error',mtError,[MbOK],0);
// 바로 여기가 실행이 됩니다....
//
end
else
showmessage('Pack Ok');
FreeMem(pTblDesc, SizeOf(CRTblDesc));
end; // Table Pack End; // Paradox
With Table1 do begin
close;
Exclusive := bExclusive;
Active := bActive;
EnableControls;
end;
// 2)
//PackTable를 사용할때...
//ptable1이 PackTable을 사용한것입니다..
// 그런데 Pack이 되질 않는군요
{ Table1.close;
Ptable1.TableName := Table1.TableName;
PTable1.open;
PTable1.Pack;}
end;
그리고 Primary Index를 제거하고 다시 Addindex할순없나요..
Table1.Exclusive := True;
Table1.open;
Table1.DeleteIndex('JeGoDate;JeGoTime'); // <- Primary index
// 2개의 FieldName
Table1.AddIndex('JeGo','JeGoDate;JeGoTime',[ixPrimary]);
에러만... 나옵니다..
미천한 실력(?)으로 질문드립니다.
잘못된곳이나 의문이 있는점을 지적해주십시요..
다시한번 류님에게 감사드립니다..
- Tnet..
|