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

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

2015.05.16 04:32

jcitec 조회 수:1371

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

( ※ 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 15769
공지 유용한 관련 사이트 관리자2 2014.03.20 54583
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 98000
393 vcl160.bpl access violation [1] 도의 2017.03.20 1316
392 NFC 관련 앱을 XE 시리즈로 개발 가능한지요? [1] 유탐호호 2014.09.02 1317
391 MDI, CHILD 구성 DLL Form Close [1] 가나다 2021.01.11 1317
390 [세미나] VCL 말고 웹(PHP) 등에서도 푸시 보낼 수 있나요? [1] Humphery 2014.08.20 1322
389 블루투스 송수신 질문이 있습니다. [3] 데브순 2018.03.23 1323
388 [세미나] BaaS에서 아이디와 이메일 중복확인 기능을 제공하나요? [1] Humphery 2014.08.05 1346
387 [XE5] XE5에선 GCM 사용이 불가능한가요? [1] 와니 2014.10.17 1347
386 안드로이드 스플래시 이미지 문의 드립니다. [2] 타락천사 2015.03.09 1352
385 DataSnap에서 NetWork 여러개인 경우 파빌신 2014.04.30 1357
384 xe10.1에서 ActiveX , *.ocx 설치방법 부탁합니다 [3] 모나도 2016.11.04 1358
383 [안드로이드] 앱 배포후 업데이트시 overwrite 안됩니다.해결방법좀 알려주세요 ㅠ. [2] 한사람 2016.03.27 1358
382 [세미나] XE7에서는 컴파일 크기가 개선되었나요? [1] Humphery 2014.09.17 1363
381 환경파일에서 "The imported project file could not be loaded. '', hexadecimal value 0x01, is an invalid character." 오류 발생 시 조치사항 [4] Humphery 2014.11.28 1363
» WINEXEC 관련해서 문의드립니다 [3] file jcitec 2015.05.16 1371
379 [세미나] 코드아카데미(BaaS 온라인 강의) 질문답변 Humphery 2014.07.30 1373
378 des암호화 복구화 대해서 알고 싶습니다 [1] 헨씀히포 2017.02.28 1381
377 바코드로부터 입력과 키보드 입력을 어떻게 구분하나요? [1] from5 2016.01.09 1388
376 Delphi5, Paradox DB이용한 32bit 프로그램... [1] LucyKim 2014.08.19 1390
375 Oracle DB 연결시 무었이 문제인지 도움 부탁 드립니다. [3] file 늦바람 2015.06.09 1396
374 secure coding 가이드 문의 (delphi 용) 저팔계 2014.09.26 1398