FireMonkey Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
FireMonkey 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

FireMonkey Q&A
[14] Re:XE3 FireMonkey에서 프로그램의 경로 가져오기가 제대로 되지 않습니다.
김현수(Humphery) [hjfactory] 3118 읽음    2013-03-06 01:30
흠... C++ Builder와 델파이 환경이 다를까요?

델파이에서는 ParamStr(0)으로 조회가 잘 되네요.

디버깅을 해보시면 좋을 것 같아요.
UnicodeString currentDir = "test" + ParamStr(0) + "hehe";
에 브레이크포인트 거시고 F7로 안으로 들어가보시면
아래와 같은 코드가 나옵니다.

if Index < ArgCount then
    Result := string(PAnsiCharArray(ArgValues^)[Index])
  else
    Result := '';


ArgCount와 ArgValue는
procedure       _StartExe(...
에서 호출 하니 _StartExe( 프로시저 안을 검사해 보시면 좋을 듯...

근데 음... 검사해도 답이 나올까요?
혹시 원인 찾으시면 답변 남겨 주세요^^

혹시 모르니 아래 함수도 한번 확인해 보세요~
uses
  System.IOUtils;

TDirectory.GetCurrentDirectory


나린바라기 님이 쓰신 글 :
: 안녕하세요. C++ Builder XE3 사용자입니다.
:
: 이번에 윈도우 용과 Mac 용을 동시에 개발하려고 FireMonkey 프로그램을 개발하고 있는데요,
: 이전에 VCL 환경에서는 Application->ExeName 함수를 쓰면 현재 프로그램의 위치를 알 수 있어서 같은 폴더 내 리소스를 불러다 쓸 수 있었는데
: FireMonkey에는 ExeName이라는 함수가 없더군요
:
: 그래서 찾아보니 ParamStr(0)을 쓰면 된다고 해서 써보았습니다.
: 그런데 윈도우 환경에서는 정상적으로 경로를 가져오나, 맥에서 실행해 보니 아무런 string 값도 반환되지 않았습니다.
:
: 예를 들어
:
: UnicodeString currentDir = "test" + ParamStr(0) + "hehe";
: ShowMessage(currentDir);
:
: 위 코드를 실행하면 "testhehe" 라고만 뜹니다..
:
: 혹시 ParamStr(0) 말고 현재 실행중인 프로그램의 경로를 알 수 있는 방법이 있을까요?
: 아니면 따로 프로젝트 설정 등이 필요한 것인지 궁금합니다. 혹시 아시는 분이나 의심가는 것이 생각나시는 분은 답변 부탁드리겠습니다..
:
: 감사합니다.

+ -

관련 글 리스트
11 XE3 FireMonkey에서 프로그램의 경로 가져오기가 제대로 되지 않습니다. 나린바라기 3072 2013/01/08
14     Re:XE3 FireMonkey에서 프로그램의 경로 가져오기가 제대로 되지 않습니다. 김현수(Humphery) 3118 2013/03/06
(링크)     C++Builder Q/A > Re:XE3 FireMonkey에서 프로그램의 경로 가져오기가 제대로 되지 않습니다.
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.