안녕하세요 기지훈입니다.
남은 하루 행복한 시간 되시길 바라며 질문 하나 드립니다. :)
paradox db를 쓰는 프로그램이 있습니다. 프로그램을 실행시키기 전에 BDE Administrator에서 db alias를 잡아주는데요. 이렇게 하지 않고 프로그램 코딩을 통해서 alias를 잡아주는 방법 없나요?
구상하는 바는, 프로그램이 시작할 때 db의 alias가 db가 있어야할 곳 path를 정확하게 잡고 있는지 확인하는 코드가 첨가되면 될 것 같은데요. 구현하는데 있어서 한델 여러분들의 조언 부탁드립니다.
한델에 올라온 글들 중에 본 질문과 관련된 내용이 있다면 알려주셔도 감사하겠습니다. 아니면 관련 지식의 키워드라도 말입니다. :)
우선 제가 이글을 쓰는데 큰 도움 주신 강형철님께 감사드립니다. :)
강형철님이 첨부파일로 올려주신 컴포넌트의 소스를 보다가 AddStandardAlias라는 method를 알게 되었습니다. 그래서 다음과 같은 코드를 dbModule(프로그램에 쓰이는 TDatabase, TTable, TQuery, TDatasource 등의 컴포넌트를 모아둔 unit파일)의 Oncreate event에 다음과 같은 코드를 작성해주었습니다.
procedure TDBM.DataModuleCreate(Sender: TObject);
begin
Session.AddStandardAlias('testAlias', ExtractFilePath(ParamStr(0))+'db', 'PARADOX');
Database1.AliasName := 'testAlias';
Database1.Connected := TRUE;
end;
이렇게 하니 프로그램을 다른 폴더로 이동시킬 때 alias를 새로 잡는군요.
이 코드를 다듬어서.. db라는 폴더가 제대로 있는가 확인하고 alias의 path가 제대로 잡혀있는지 확인해서 alias를 생성할지 말지 결정하도록 해주면 원하는 기능을 구현할 수 있을 것 같습니다.
델파이 도움말에서 session의 method를 클릭해 살펴보면 addstandaralias 말고도 유용한 method를 많이 보실수 있을 겁니다.