분명 유저 id / password도 맞고
서버에 write 권한도 있고
다른 사람 컴퓨터에는 해당 유저로 commit이 잘되는데...
내 자리에서 commit하려고 하면 authrozation failed 오류가 발생할 때...

repository url을 확인해볼 것...

repository url의 대소문자가 잘못되어 있으면 read는 되지만...
commit은 안되더라는 -ㅅ-
728x90

사서함에서 자동 보관하는건 잘 되는데
다른 아웃룩 데이터 파일에서 자동 보관하는건 뭔가 이상하게 안되더군...
그래서 하는 방법이 없나 알아보다가 ...
결국은 스크립트를 짜고 있다는 ... ㅡㅜ

사용 방법은 다음과 같음...
* archiveEmail.cls 긁어다가 아웃룩 스크립트에 붙여 놓고
* expireTime을 원하는 날짜로 수정
* 아웃룩 매크로에서 archiveEmail 실행
* 백업할 폴더 선택
* 저장할 폴더 선택

아웃룩이 먹통이 된 것 처럼 보이지만 백업하고 있는 거임...( -_-)

ToDo
* 진행 상황 보여주는 폼 보여주기
* 가끔 백업안되는 애들 있는데 분석해서 수정하기
* 만료일 선택할 수 있는 폼 보여주기

P.S.
* 아웃룩 2007에서만 테스트한거임
* 차라리 파일을 다른 이름으로 만들고
새 아웃룩 파일 만든 다음에 폴더 구조만 복사하고
규칙만 적용하는게 더 나을려나 -ㅅ-

728x90
TEST_MACRO(ClassA);

TEST_MACRO가 선언되지 않은 상태에서 컴파일을 하면 컴파일이 될까 안될까?

Visual Studio 2003에서 컴파일하면 에러없이 컴파일되더라는...
Visual Studio 2008에서는 에러 뜬다는...

매크로명에 오타낸 것도 모르고
왜 브레이크 잡아둔 코드 블럭에 안들어오는지 1시간동안 짜증내고 있었다는...

대략 난감할 따름...
728x90
다른 사람이 작업한 소스를 수정중인데
DllImport로 연결된 dll을 로드할 수 없다고
System.DllNotFoundException이 떴다.

명시된 path에 해당 dll이 떡하니 있는데도 발생하니 난감할 따름...
오타가 있는 건가?
Visual Studio 2008 문제인가?
한 3일째 봤는데...

결론은 문제 dll과 연관된 dll이 없어서 생기는 문제였다는...
( 참고 : http://blog.naver.com/techshare/100066142942 )

연관된 dll 검사해주는 Dependency Walker를 이용하면 문제되는 dll을 찾을 수 있다.
http://www.dependencywalker.com/
728x90
올바른 방법은 아직 모르겠는데...

일단 내가 사용하고 있는 방법은 다음과 같다.

open($out, ">:raw:encoding(UTF-16LE)", $outFileName) || die "cannot open $outFileName";
print $out "\x{FEFF}"; # write UTF-16LE BOM
print $out "TEST\n";
close($out);

Perl Unicode(ANSI, utf-8, utf-16LE, ...) 부분은 뭔가 알듯 말듯 모호하네...
728x90
파일 이름을 왼쪽에서 오른쪽 처럼 바꿀려면 일일이 바꿔줘야 했는데...

xxxx_yy_01.ext -> xxxx_01.ext
xxxx_yy_02.ext -> xxxx_02.ext
xxxx_yy_03.ext -> xxxx_03.ext

StExBar의 Rename 툴을 쓰면 쉽다능...

오른쪽 마우스 버튼 클릭 > StEx > Rename 를 선택하면
Rename 다이얼로그에서 다음처럼 입력하고 Rename을 실행하면 된다능

Match: xxxx_yy_(.*).ext
Replace: xxxx_$1.ext

http://tools.tortoisesvn.net/StExBar
728x90
VS 2008에서 만든 바이너리의 경우 themida로 패킹할 경우 실행이 안되는 경우가 있다.
이 경우에는 Option > Virtual Machine > Entry Point Virtualization을 0으로 설정하면 실행이 될 수도 있다.

http://www.oreans.com/kb/?View=entry&EntryID=1
728x90

class의 member function을 pointer를 사용할려고 할 때
기존에 member function 내에서는 'function'이름만 적어주면 문제가 없었다.
VS 2008에서는 다음과 같은 오류 메시지가 보인다.

error C3867: 'A::function': function call missing argument list; use '&A::function' to create a pointer to member

에러 메시지에서 보이듯이 기존에 'function'만 적어줬던 부분을
'&A::function' 형식으로 바꿔주면 ok
728x90
윈도우 shell 에서 '특수문자 이스케이프 문자'를 몰라서 다른 걸 쓰고 그랬는데...
윈도우 도움말에 있네 ㅋㅋㅋ

특수 문자 사용

<, >, |, &, ^ 문자는 특수 명령 셸 문자로 이스케이프 문자(^) 다음에 와야 하고 string으로 사용될 때는 따옴표로 묶여야 합니다(예: "StringContaining&Symbol"). 따옴표로 특수 문자를 포함한 문자열을 묶는 경우, 따옴표를 환경 변수 값의 일부로 설정해야 합니다.

728x90
Visual Studio 2003.net 에서 작업하는데
공통 프로젝트 라이브러리 설정을 다음 위치에서 해왔다.

Tools > Options > Projects > VC++ Directories > Include files / Library files

간혹 라이브러리 수정 작업을 하면서 기존 라이브러리 작업을 할 때
경우에 따라 path를 수정하는게 번거로웠다.

VS 2008에서는 property sheet를 이용하는 방법이 있다고 하는데
참고 - http://naiades.tistory.com/79
이것도 프로젝트 별로 세팅해줘야 해서 번거로운 면이 있는 것 같다.

VC++ Directories 설정이 로긴 유저에 따라가니
작업별로 로그인 유저를 달리하는 방법도 있다.
하지만 로그아웃하고 로그인하는 것도 번거롭다.

'바로 가기 > 고급 > 다른 자격 증명으로 실행'을 이용하면 재로그인은 필요가 없는데
솔루션 파일을 직접 열 수는 없는 단점이 있다.

그래서 생각해낸게 runas를 이용하는 거다.

runas /user:%userId% "%devenv.exe 위치% \"%solution 위치%\""

그래도 매번 패스워드를 쳐야하는 불편함은 있다. ;;;

덧1) RunasSpc라는 프로그램이 있긴 한데 회사에서는 상용

덧2) /savecred 옵션을 사용하면 한번만 패스워드를 치면 저장되네 ;;;

RUNAS 사용법:

RUNAS [ [/noprofile | /profile] [/env] [/netonly] ]
        /user:<UserName> 프로그램

RUNAS [ [/noprofile | /profile] [/env] [/netonly] ]
        /smartcard [/user:<UserName>] 프로그램

   /noprofile        로드하지 않을 사용자 프로필을 지정합니다.
                     응용 프로그램을 빠르게 로드할 수 있지만,
                     일부 응용 프로그램이 올바로 동작하지 않을 수 있습니다.
   /profile          로드할 사용자 프로필을 지정합니다.
                     기본값으로 설정되어 있습니다.
   /env              사용자 환경 대신 현재 환경을 사용합니다.
   /netonly          지정된 자격 증명이 원격 액세스를 위한 경우에
                     사용합니다.
   /savecred         사용자가 저장한 자격 증명을 사용합니다.
                     이 옵션은 Windows XP Home Edition에서는
                     사용할 수 없으므로 무시합니다.
   /smartcard        스마트 카드에서 자격 증명을 제공한 경우에
                     사용합니다.
   /user             <UserName>은 USER@DOMAIN 또는 DOMAIN\USER 형식이어야 합니다
.
   프로그램         EXE용 명령줄입니다. 아래 예를 보십시오.

예:
> runas /noprofile /user:mymachine\administrator cmd
> runas /profile /env /user:mydomain\admin "mmc %windir%\system32\dsa.msc"
> runas /env /user:user@domain.microsoft.com "notepad \"my file.txt\""

참고: 암호를 물어보면 사용자 암호를 입력하십시오.
참고:  USER@DOMAIN은 /netonly와 호환되지 않습니다.
참고:  /profile은 /netonly과 함께 사용할 수 없습니다.

(2011.05.30) 윈7 에서 UAC 를 켠 상태에서
권한 상승이 필요한 프로그램을 runas 로 실행할 경우
권한 상승 오류가 발생한다.
cmd 에서 권한 상승 명령어가 없는 관계로
technet 에서 제공하는
elevate라는 스크립트를 이용해야 하는데
이 스크립트가 파라미터가 1개만 사용하도록 되어 있어 수정이 필요하다.






728x90

+ Recent posts