코딩을 하다보면
특정 설정 또는 로그를 남기기 위해
파일을 저장하거나, 파일을 불러오는 경우가 많은데
이를 빌드해둔 내 프로젝트내의 같은 경로에 있는 파일을 이용하고 경우가 있습니다.
그럴경우 간단하게
ExtractfilePath(Application.ExeName) 을 통해 확인 할 수 있습니다.
하지만 모듈이 다르거나, dll 을 로드하여 사용 하는 경우
상속된 프로세스의 경로가 나오기때문에 원하는 내 프로젝트 경로가 아닌
상속된 프로세스의 경로를 얻어 오는 경우가 있습니다.
그럴때 제가 사용 하는방법입니다.
ExtractFilePath(GetModuleName( hInstance) );
ExtractFilePath의 경우
파일의 전체 경로 (ex. C:\test.exe) 가 아닌 경로만을 얻어 올 수 있습니다. (ex. C:\)
( 마지막 \ 문자를 Delimiter로 구분하여 잘라오는 역할을 합니다.)
( SysUtils.ExtractFilePath)
그 원리를 통해 GetModuleName 함수를 통해 hInstance의 전체 경로를 얻은 후 ,
다시 ExtractFilePath 함수를 통해 경로만을 가져올 수 있습니다.
'Programming > *Delphi' 카테고리의 다른 글
문자열 파싱 함수 (Pos / Copy 를 이용) (0) | 2018.06.18 |
---|---|
단방향 해쉬 함수 ( SHA256 / Hash 내장 모듈 사용) (0) | 2018.06.18 |
댓글