자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)

Delphi WINEXEC 관련해서 문의드립니다

2015.05.16 04:32

jcitec 조회 수:1387

자꾸 질문드려 죄송 합니다.

( ※ XE7로 Migration 하다보니 기왕의 DELPHI 에 있던 기능들이 변경되어 안되는 것들이 자꾸나오고 또 그런건 어디 '   

       자세한 설명도 찾기 힘들고요. 또 완전히 없어져서 안되는 것이 아니라 내용이 생각지 못하는 방향으로 바뀌는 것들이라

       기존에 생각 못했던 것들이라 그렇네요)

문제의 내용 설명으로 iexplore를 실행시키는 것을 예로 들어 설명 하겠습니다

① WinExec(pansichar(C:\Program Files\Internet Explorer\iexplore.exe   http://tech.devgear.co,kr/'),sw_show) 하면 잘 됩니다

 ②그런데  들어가는 command 나 argumenet 를 변수를 사용하는 경우에는 안됩니다

 즉 aa := 'C:\Program Files\Internet Explorer\iexplore.exe     http://tech.devgear.co,kr/' 로 하여 WinExec(pansichar(aa),sw_show) 로 한다거나

 cmd_line :=  'C:\Program Files\Internet Explorer\iexplore.exe',  param_data := 'http://tech.devgear.co,kr' 로 하고

 WinExec(Pansichar(cmd_line + '  ' + param_data).sw_show) 로 하거나

 WinExec(Pansichar('C:\Program Files\Internet Explorer\iexplore.exe'  + '  ' + param_data),sw_show)로 하면 안됩니다.


 다른 프로그램을 실행 시키면서 parameter를 넘길때도 마찬 가지 입니다/

WinExce(PAnsiChar('TESTPRG' + '  ' + '이순신'  +  '   ' + '영웅'),0)  하면 잘되지만 param_1 := '이순신',  param_2 := '영웅 '으로하여

WinExec(PAnsiChar('TESTPRG' + '  ' + param_1  +  '   ' + param_2),0)' 하면 안됩니다.

(실제 업무에서는  parameter 가 변수로 바뀌므로 후자로 사용 될 수 밖에 없습니다. 예 LoginId, 성명 같은 거지요)


 어디서 잘못 되었고 어떻게 하면 될지 해결 방안을 가르켜 주시면 고맙겠습니다.


  (old version의 DELPHI 4, 5, 6 에서는 후자의 방법으로 많이 잘 사용 해 온 것입니다. 이걸 전환 해야 하니 어떻게 할지 방안이 없네요) 

WINEXEC에서 XE6등에서는  PAnsiCharacter로 해야 하는 것(Unicode관련)은 알고 있지만 제대로 알지 못한 건지요.

 그런데 위의 예와 같이 constatnt 값을쓰나 동일한 것을 변수에 넣고 쓰나 같은게 일반적인 상식이라  이와 관련된 것을 어디서 찾아 보아야

 할지도 사실 알 수 없습니다. (하도 실력이  모자라서)

 Ansichar 가 AnsiString 이나 String 이런 것과는 다른 것이라지만 값을 그냥 썼을때와 변수에 넣고 썼을때 왜 차이가 나는 건지 특히

 Space 에 대해서 차이가 나는 건지 알수 없네요 (앞에붙은 Space나 뒤꼬리에 붙은 Space 라면 모르겠는데 문자열의 중간에 있는

Space인데 ...)


첨부 : 이를 Test 한 프로그램입니다 (DELPHI XE6 사용)

           Source 와 실행 File 입니다 (ZIP으로 묶어 놓았으나 Zip을 풀면 됩니다)


번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 17204
공지 유용한 관련 사이트 관리자2 2014.03.20 56080
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 99517
2459 [10.2 도쿄 출시세미나] 리눅스 지원 된다 했는데, 우분투와 레드헷 만되고, CentOS 는 안되나요? 험프리 2017.04.06 199
2458 [C++부트캠프] 교육과정을 알고 싶습니다. 험프리 2016.08.30 199
2457 구글스토어 개발자콘솔 앱등록 관련 문의드립니다. 시리온느 2019.03.13 199
2456 10.3.2 Webbrowser 버그인가요? (iOS) file 돌팅 2019.08.31 199
2455 BLE / IdHTTP 사용법 [1] 권동한 2020.04.07 199
2454 [10.2 도쿄 출시세미나] 네이티브 HTTPS 사용 시 OpenSSL 라이브러리(libeay32, ssleay32)를 같이 배포해야 하나요? 험프리 2017.04.06 199
2453 델파이 10 씨에틀을 사용중인데요.... [1] 도고래 2016.04.21 200
2452 사진이 출력 되어야할 탭 으로만 가면 앱이 꺼집니다. [3] 루피 2016.11.07 200
2451 RAD 스튜디오 베를린 10.1에서 인포믹스 DB를 지원하나요? 험프리 2016.12.08 200
2450 지뢰찾기를 만드는중에 질문이 있어서 글올립니다. [1] file 땅콩맨 2017.09.15 200
2449 10.3.2 Update Trouble & Embarcadero Server Down 문의 [1] DKK 2019.07.25 200
2448 dbexconnections.ini 파일 에러 [2] 그래요 2020.01.08 200
2447 [공유] WebServer와 연동하는 예제나 컴퍼넌트가 있을까요? 험프리 2016.03.21 200
2446 문서편집기 기능에 대해 문의드립니다. [3] 김진규 2020.11.19 200
2445 Andorid, IOS에서 동영상 갤러리를 여는 방법 [2] delphiman 2020.11.26 200
2444 GPS 기능을 서비스앱에 넣고 싶은데요.. [1] 미루후예 2016.04.20 201
2443 델파이 베를린의 FireUI 에 대하여 가르쳐주시기 바랍니다. [2] 거북이 2016.04.25 201
2442 커스텀 키패드를 만드려고 합니다. 블루히아신스 2016.10.20 201
2441 Delphi 10.2.2 Project close all 후 Error 관련 [2] file 엔달 2018.01.11 201
2440 [공유] 안드로이드 배포 시 "Missing profile name. Unable to get a valid profile from environment options file. Process aborted." 오류가 발생합니다. file 험프리 2018.11.05 201