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

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

2015.05.16 04:32

jcitec 조회 수:1379

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

( ※ 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 15804
공지 유용한 관련 사이트 관리자2 2014.03.20 54605
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 98045
393 폰트다이얼로그 관련 질문드립니다.. 초보델팡이 2019.10.08 679
392 Listview에서 DynamicAppearance를 이용하여 아이템을 만드는데 궁금한점이 있어서요. [4] file 종결자 2019.10.10 642
391 델파이에서 POST방식으로 IE 새창 호출 [1] 델파이PHP초보 2019.10.11 571
390 Delphi 10.2 Pointer, Byte 문의 [1] 엘트 2019.10.11 148
389 listview 에서 런타임에 이미지 넣는부분 [1] 종결자 2019.10.12 323
388 TValue를 어떻게 사용할 수 있는지 문의 드립니다. [2] 한태수 2019.10.14 2413
387 NetHTTPClient1 오류 질문입니다. [2] file 델파이안드로이드 2019.10.17 278
386 작일 세미나에서 문의드렸던 FireDac 모니터링 관련. [2] mckim 2019.10.18 437
385 개발자 기술자료 중 Firebase 안드로이드 앱 푸쉬 알림 - 10.3.2에서 FCM 전송 설정 - 실행시 오류 발생 [5] file 비앤케이 2019.10.19 375
384 델파이 10.2 도쿄에서 comport가 실행이 안되는 이유는 무엇일까요? [2] file 덩어리2 2019.10.21 309
383 ADO Query -> FD Query 마이그레이션 문의합니다. [3] file mckim 2019.10.22 338
382 DLL 내부에서 FireDAC 을 이용해서 FireBird DB 연결 종료 시 [2] 막스뮐러 2019.10.22 312
381 TValue에서 Tbytes의 데이터를 어떻게 뽑아낼수 있는지 문의 드립니다. [4] 한태수 2019.10.24 364
380 또 질문입니다. 혹시 지역관련해서 [4] 종결자 2019.10.28 154
379 RAD 서버 운영환경에 설치중 오류 [2] file 노란바나나 2019.10.30 1301
378 MDB 테이블 생성 관련 기초 질문입니다. [4] 초보델팡이 2019.10.30 268
377 IOS 앱 환경설정관련 문의사항입니다 ( 파일 저장 ) [2] 궁금한사람 2019.11.04 372
376 위도 경도 지역 읽어 오는 거에서요. [2] 종결자 2019.11.05 236
375 FDQuery FetchOptions 문의드립니다. 딤몽 2019.11.06 136
374 Delphi XE버전 호환성관련 공식문서 [1] 차니아빠 2019.11.06 278