«   2026/02   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28

델파이는 Try ... except ... end 로 예외처리를 지원하고 있고 Indy 또한 Error Exception을 지원합니다.

하지만 예전에는 Indy의 exception이 IdException에 정의되어 있었습니다.

하지만 지금은 IdException을 uses 하면 파일이 있다고 나오지만




예전 코드나 예제는 더이상 사용할 수 없습니다.



왜냐하면 에러 정의가 IdException이 아닌 IdStack으로 옮겨졌기 때문입니다. 

그래서 옛날 코드나 예제를 사용하면 특정 인디 버전부터는 E2003 Undeclared identifier 에러가 발생합니다.

델파이는 대부분의 예제가 08년 09년을 기점으로 그 이전에 많이 기록이 남아 있습니다.


이제는 인디 컴포넌트의 예외처리를 하려면 IdStack을 uses해야 합니다.




위와 같이 처리하면 됩니다.

위 코드는 서버 접속 시 10060 Time Out 에러에 대한 예외처리를 하고 있습니다.

어느 상황의 에러가 어떤 코드인지 알고 싶다면, 아래 사이트를 참고하세요.



'컴퓨터 > Delphi' 카테고리의 다른 글

[QuantumGrid] CheckBox 사용  (0) 2018.11.30
이상한 Undeclared  (0) 2017.06.16
TAlphaColor의 색상 표현  (0) 2016.11.19
TEdit 클릭 시 내용 지워지기, 다시 나타내기  (0) 2016.11.05
[FMX][Timage] 이미지 복사  (0) 2016.09.25
,

컴퓨터를 포맷하고 윈도우10으로 업그레이드하여 기존 프로그램들을 재설치할 일이 있었습니다.

한글, 어도비 등 각 사이트에서 전부 내려받아서(어도비 클라우드는 얼마나 느리던지..) 설치를 마치고 이제 사용만 남았는데 어느 순간부터 아래의 에러가 하루에 몇번씩 출몰하더군요.



command line option syntax error. type command/? for help


창의 타이틀을 보니 발생한 대상은 Visual C++ 2005 재배포 패키지입니다.

그래서 프로그램을 재설치하려고 프로그램 추가/제거(appwiz.cpl)에 들어가보니 해당 프로그램은 설치되지 않은 겁니다.


이에 대해 Microsoft Community에서는 아래와 같이 답변하고 있습니다. [원문]


간혹, 한글 OS와 같은 DBCS OS환경에서는 아래와 같은 에러 메시지와 함께 해당 Package가 설치되지 않는 경우가 있습니다.

“Command line option syntax error. Type command /? for Help”


C:\Users\홍길동\AppData\Local\Temp\IXP000.TMP

위의 경로에서 보시는 것처럼, 한글 계정으로 사용할 경우, full path에 DBCS가 포함되어 문제가 발생합니다.

이 경우에 한글 계정을 영문 계정으로 변경하여 해당 Package가 설치하는 것이 방법일 수 있습니다.


이 문장으로 유니코드 문자가 경로에 있으면 설치가 불가능할 수 있다는 것을 알 수 있는데요.

문제는 이 계정을 별도로 추가하는 작업은 다시 계정 삭제할 때 쓰레기 파일이 다소 남을 수 있다는 점과, 기존 계정을 영문으로 변경하는 작업이 사소한 실수로 큰 문제를 야기할 수 있다는 것입니다. [원문]


하지만 이 상황에서 반드시 계정을 바꾸어야하는 것은 아닙니다.

위 문장대로라면 TMP파일이 생성되는 경로만 바꿔주면 되는거죠.


탐색기에서 다운로드 받은 파일의 위치로 이동해봅시다.



저는 다운로드 폴더에 파일이 있습니다.

이제 이 프로그램 파일을 통해서 Visual C++ 2005 재배포 패키지를 추출할 겁니다.


상단 좌측의 파일 버튼을 눌러 관리자로 명령프롬프트를 실행합니다.



검은 창이 실행되면 아래와 같이 입력해주시고 엔터를 눌러주세요.

관리자 권한이 아니어도 상관은 없습니다. 하지만 추출하려는 경로가 관리자 권한으로 묶여 있다면 추출이 되지 않기때문에 저는 관리자 권한으로 실행했습니다.


vcredist_x86.exe /c /t:<추출할 경로>


경로는 본인이 원하는 경로를 하시면 됩니다. 단, 이 경우에도 경로에 한글이 있어선 안되며 가능하면 c:\로 하는걸 권장합니다.

저는 c:\에 파일을 추출해보겠습니다.



예를 체크하면 파일이 추출되고 프로그램은 종료됩니다.

이제 추출한 경로로 이동하겠습니다.

저는 c:\에 추출했으니 c드라이브 루트로 이동하겠습니다.


저렇게 파일이 하나 추출된 것을 확인할 수 있습니다.

이제 이 프로그램을 실행해서 Visual C++ 2005 재배포 패키지를 설치하겠습니다.


실행하면 압축이 해제되면서 재배포 패키지가 설치되게 됩니다.

(너무 빨라서 스크린샷은 찍지 못했네요..)



,
1
프로필 이미지
It's the Only NEET Thing to do. written by 나즈나
분류 전체보기 (256)
포트폴리오 (2)
여러가지 (160)
Windows (26)
Linux (1)
Server (5)
컴퓨터 (48)
전자기기 (3)
자격증 (3)
모바일 (1)
공유기 (4)
초소형컴퓨터 (3)