Bonobo - Simple git server for Windows

- Git 서버를 윈도우즈 환경에서 운영하기 위한 플랫폼 

- IIS 7 이상, .NET Framework 4.5, ASP.NET MVC 4 환경 



# 설치 

- IIS 설치 : Windows 7 이상이면 "프로그램 및 기능" - "Windows 기능 겨키/끄기" 에서 설치 가능 

  * 응용 프로그램 개발 기능에서 .NET 4.5 확장성 및 ASP.NET 4.5 활성화 

- .NET Framework 4.5 설치 (Windows 8.1 이상은 이미 설치 됨) 

   https://www.microsoft.com/ko-KR/download/details.aspx?id=30653

- ASP.NET MVC 4 (http://www.asp.net/mvc/mvc4)


- Bonobo Git Server 다운로드 후, 압축을 풀고 해당 디렉토리를 IIS 응용프로그램으로 가상디렉토리 설정 

- 해당 디렉토리를 IIS 계정 (IIS_IUSER) 쓰기 권한 부여 

- 필요하다면 ASP.NET의 IIS 등록 

  (관리자 권한 : %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ir )


- DEC입사 RSX-11라는 OS 개발

- 유닉스를 대항하고자 만든 VMS OS 개발 (나중에 OpenVMS로 발전)

- 1988년 DEC은 차세대 OS 개발 도중 프로젝트 취소 시킴


- 빌게이츠는 유닉스에 대항하고자 새로운 OS 개발의 니즈를 느낌 

- 마침 DEC에서 퇴사한 커틀러팀을 모두 MS에 영입 

- IBM과 같이 OS/2 NT 프로젝트를 Windows NT라는 이름으로 바꾸고 커틀러 중심으로 바꿈 (후 IBM과 분쟁) 

- 1993년 Windows 3.1의 UI를 가져오고 하위 호환성을 가지는 첫번째 NT커널OS인  Windows NT 3.1 개발


- NT 커널 개발시 빌게이츠는 유닉스와 같은 모놀리식이 아닌 마이크로 커널의 특징으로 개발 하는 것에 대해서 많은 의구심을 가졌고 커틀러는 안정성이 중요 하다는 이유로 설계를 변경 하지 않았고 코딩 테크닉으로 극복 하겠다고 주장 (NT는 모놀리식안에 마이크로 성격이 들어있는 하이브리드 커널로 분리)


- 현재 MS에서 근무 하고 있으며 최근 XBOX 부서로 옮김 

- 1942년 생이고, OS 개발 3번이나 성공시킨 인물 

- Windows 7에도 아직 그의 코드가 들어 있다고 ;; 


http://www.zdnet.co.kr/news/news_view.asp?artice_id=00000039129985

http://www.jiniya.net/wp/archives/146

http://noaa.byus.net/blog?page=74

  1. Uninstall PostgreSQL
  2. Delete the postgres user if it still exists.

    net user postgres /delete
  3. Create the postgres user with a password you can remember

  4. Add the postgres user to the Administrators group
  5. Add the postgres user to the Power Users group
  6. Run a command window as the postgres user

    runas /user:postgres cmd.exe
  7. Run the install file from within the command window.

    C:\Download\postgresql-9.1.4-1-windows.exe

    This should run the installation successfully.

  8. Remove the postgres user from the Administrators group.


http://dba.stackexchange.com/questions/10241/postgresql-the-database-cluster-initialization-failed


[문제]


컴퓨터에서 실행 중인 Windows 7 SP1 이나 Windows Server 2008 R2 SP1 나 설치 하는 kb983246가 다시 컴파일하십시오 다음 ADO 응용 프로그램 하위 수준 운영 체제에서 실행 되지 않습니다.


http://support.microsoft.com/kb/2517589



[해결책]


#1. Windows 7 의 SP1 을 올리지 않는다. (권장 안함)

-> 현재 시스템 상 자동 업데이트 되고 있고, 개발을 위해서 업그레이드를 미루는 것은 문제가 있을 듯 합니다.


#2. 개인 PC의 ADO 버전을 강제로 내린다 (권장 안함 )

  -> 문제가 있고 추후 상위 버전의 개발을 위해서도 바람직 하지 않습니다. 


#3. ADO 버전을 고정 시킨다 (권장)

-> 현재 사용되는 msado15.dll 버전을 사용하지 않고 아래의 버전중에 하나를 사용한다. 

  - Vista 이상의 환경에서의 컴파일 : #import msado60.tlb (권장)

  - XP 이상의 환경에서의 컴파일 : #import msado28.tlb (옵션)



AS-IS

#import "C:\Program Files\Common Files\System\ado\msado15.dll" rename("EOF", "adoEOF")


TO-BE

#import "C:\Program Files\Common Files\System\ado\msado60.tlb" rename("EOF", "adoEOF")



[기타]

#. 해결책 

http://support.microsoft.com/kb/2640696


#. ADO 버전 

http://msdn.microsoft.com/ko-kr/library/windows/desktop/ms676506(v=vs.85).aspx


http://msdn.microsoft.com/ko-kr/library/cc281953.aspx

서비스 계정 사용 권한

서비스는 운영 체제의 리소스 및 개체에 액세스하기 위해 계정에 로그온해야 합니다. 대부분의 서비스에서는 기본 로그온 계정을 변경할 수 없습니다. 기본 계정을 변경하면 서비스가 작동하지 않을 수 있습니다.

서비스로 로그온하는 사용 권한이 없는 계정을 선택하면 서비스 스냅인은 사용자가 관리하는 컴퓨터의 서비스로 로그온하는 데 필요한 사용자 권한을 해당 계정에 자동으로 부여합니다. 그러나 사용 권한을 부여받더라도 반드시 서비스가 시작되지는 않습니다.

서비스로 로그온하는 데 사용되는 사용자 계정은 속성 대화 상자에서 암호 사용 기간 제한 없음 확인란을 선택하고 강력한 암호를 사용하는 것이 좋습니다. 자세한 내용은 강력한 암호를 참조하십시오.

계정 잠금 정책을 사용 중이고 계정이 잠겨 있으면 서비스가 제대로 작동하지 않습니다. 자세한 내용은 계정 잠금 정책을 참조하십시오.

다음 표는 서비스 로그온 계정과 사용 방법에 대한 설명입니다.

 

로그온 계정설명

로컬 시스템 계정

로컬 시스템 계정은 도메인 컨트롤러의 디렉터리 서비스를 포함하여 시스템에 대한 완전한 액세스 권한을 갖고 있는 강력한 계정입니다. 서비스가 도메인 컨트롤러의 로컬 시스템 계정에 로그온하면 그 서비스는 전체 도메인에 대한 액세스 권한을 갖습니다. 일부 서비스는 기본적으로 로컬 시스템 계정에 로그온하도록 구성되어 있습니다. 기본 서비스 설정을 변경하지 마십시오.

로컬 서비스 계정

로컬 서비스 계정은 인증된 사용자 계정과 유사한 기본 제공되는 특별한 계정입니다. 로컬 서비스 계정은 리소스 및 개체에 대해 Users 그룹 구성원과 같은 수준의 권한을 갖습니다. 이렇게 제한된 액세스는 개별 서비스나 프로세스에 문제가 생길 경우 시스템을 보호합니다. 로컬 서비스 계정으로 실행되는 서비스는 자격 증명이 없는 Null 세션으로 네트워크 리소스에 액세스합니다.

네트워크 서비스 계정

네트워크 서비스 계정은 인증된 사용자 계정과 유사한 기본 제공되는 특별한 계정입니다. 네트워크 서비스 계정은 리소스 및 개체에 대해 Users 그룹 구성원과 같은 수준의 권한을 갖습니다. 이렇게 제한된 액세스는 개별 서비스나 프로세스에 문제가 생길 경우 시스템을 보호합니다. 네트워크 서비스 계정으로 실행되는 서비스는 컴퓨터 계정의 자격 증명을 사용하여 네트워크 리소스에 액세스합니다.

주의

  • 기본 서비스 설정을 변경하면 주요 서비스가 제대로 실행되지 않을 수 있습니다. 특히 자동으로 시작하도록 구성된 서비스의 시작 유형 및 다음 계정으로 로그온 설정을 변경할 경우에는 특별히 주의해야 합니다.
  • 대부분의 경우 서비스와 데스크톱 상호 작용 허용 설정을 변경하지 않는 것이 좋습니다. 서비스가 데스크톱과 상호 작용할 수 있게 허용되면 서비스가 데스크톱에 표시하는 모든 정보가 대화형 사용자의 데스크톱에도 표시됩니다. 악의 있는 사용자가 서비스 제어권을 가지거나 대화형 데스크톱에서 공격할 수 있습니다.

< DTC 서비스 조건 >


1. MSDTC 보안 구성 

  - 네트워크 DTC 엑세스 설정

  - 인바운드 및 아웃바운드 허용

  - 인증 필요 없음 


2. 웹서버 및 DB서버의 양방향 HOSTNAME(or 디렉토리 이름)으로 IP가 확인 가능

 

3. 양방향 RPC (135) 포트 접속 가능 


4. 양방향 동적 포트 대기 프로세스인 msdtc.exe 에 접속 가능




< MSCS 에서의 IP 설정 >


1. 클라이언트 서버에서의 DB서버의 접속은 MSCS의 DTC Group 의 IP로 접속 


2. DB 서버에서 클라이언트 접속은, MSCS의 DTC가 위치해 있는 노드의 물리적인 서버의 IP로 웹 서버로 접속 




Step by Step: 트랜잭션 오류에 대한 MSDTC 설정 확인하는 일반적인 방법

http://support.microsoft.com/kb/976963/ko



Windows Registry Editor Version 5.00
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]
@="Delete SVN Folders"
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]
@="cmd.exe /c \"TITLE Removing SVN Folders in %1 && COLOR 9A && FOR /r \"%1\" %%f IN (.svn) DO RD /s /q \"%%f\" \""


레지스트리는 항상 조심.. 


'Dev > Windows' 카테고리의 다른 글

서비스 계정 사용 권한  (0) 2012.04.04
MS MTC 서비스 설정  (0) 2012.04.04
COM+ 패키지 활성화별 세션 상태 정리  (0) 2009.09.22
Redmine 세팅  (0) 2009.09.12
ATL Com Project VC++ 6 에서 VC++ 8 변환(업그레이드)  (0) 2009.03.27

 패키지 활성화   JIT 활성화  멤버변수 상태 유지  전역변수 상태
 1. 서버 응용 프로그램  활성  유지 않함  유지 (활성화 개체 단위)
 2. 서버 응용 프로그램  비 활성  유지  유지 (활성화 개체 단위)
 3. 라이브러리 응용 프로그램  활성  유지 않함  유지 (세션 단위)
 4. 라이브러리 응용 프로그램  비 활성  유지  유지 (세션 단위)

* JIT 활성화가 있는경우 Method 단위로 m_spObjectContext->SetComplete() 를 호출 하여 테스트
* 풀링의 세팅의 경우 위의 결과와 틀리게 멤버변수의 상태가 달라 질 수 있음 
* CreateObject 이후 Nothing 까지의 상태 


내용 
- JIT 활성화인 경우 Method 단위로 클래스의 생성자 및 소멸자 호출 
- 풀링 설정의 경우 패키지가 시작할때 풀링된 구성요소 만큼 생성자를 호출하여 인스턴스 생성해 놓음 
- 라이브러리 응용 프로그램의 경우 인프로세스로 실행 되므로 전역변수값은 세션별로만 유지함
- regsvr32 로 등록되어 있는 컴포넌트랑 같은 효과를 내기 위해서는 "라이브러리 응용 프로그램, JIT 비활성화"로 운영

결론
내가 만들지 않은 컴포넌트의 경우 내부적으로 개체의 상태값 유지를 위해서,
멤버변수를 사용했는지, 지역 변수를 사용했는지 알 수 없기 때문에 regsvr32 로 등록하여 사용 하는것으로 권장

허나 COM+에 등록하여 사용 하려면 위의 내용 참고



'Dev > Windows' 카테고리의 다른 글

MS MTC 서비스 설정  (0) 2012.04.04
.svn 폴더 삭제  (0) 2011.03.25
Redmine 세팅  (0) 2009.09.12
ATL Com Project VC++ 6 에서 VC++ 8 변환(업그레이드)  (0) 2009.03.27
유니코드(UNICODE), C++  (0) 2008.10.16
BitNami Redmine Stack 받기: http://bitnami.org/stack/redmine


한글을 문제 없이 사용위해 DB를 UTF-8 로 설정 하기 위한 작업 + 기타 등등..

1. MySql 설정 변경 
-> \BitNami Redmine Stack\mysql\my.ini 

[client] 
default-character-set=utf8

[mysqld] 
character-set-client-handshake = FALSE 
init_connect=SET collation_connection = utf8_general_ci 
init_connect=SET NAMES utf8 
default-character-set=utf8 
character-set-server=utf8 
collation-server=utf8_general_ci

[mysql] 
default-character-set=utf8


2. MySql 설정 확인
-> \BitNami Redmine Stack\mysql\bin\mysql -uroot -p 

mysql> show variables like 'c%';
mysql> status;


3. 기존 bitnami_redmine DB, UTF-8로 다시 만들기 

mysql> drop database bitnami_redmine ;
mysql> CREATE DATABASE bitnami_redmine DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;


4. 어플리케이션 DB 접속 encoding 수정 
-> \BitNami Redmine Stack\apps\redmine\config\database.yml

production:
  adapter: mysql
  database: redmine_production
  host: localhost
  username: bitnami
  password: bitnami 
  port: 3306
  encoding: utf8


5. 생성된 bitnami_redmine DB 설정 초기화 작업 

// 환경변수 세팅 
\BitNami Redmine Stack\scripts>setenv.bat
// DB Migration
\BitNami Redmine Stack\apps\redmine>rake db:migrate RAILS_ENV="production"


6. SMTP 설정 : 로컬 SMTP 서버 이용 
email.yml 수정 (기존 파일이 없을 경우 email.yml.example 를 복사후 rename)
->\BitNami Redmine Stack\apps\redmine\config\email.yml

production:
  delivery_method: :smtp
  smtp_settings:
    address: localhost
    port: 25
    domain:   
    authentication:
    user_name: 
    password: 
  

7. "일감" -> "이슈" 로 Replace (일감이란 단어의 어감이 좋지 않아서;;)
-> \BitNami Redmine Stack\apps\redmine\lang\ko.yml


출처 : 
VC++ 6 에서 ATL Com Project 만들어진 프로젝트를 VC++ 8 로 업그레이드를 할 경우 몇가지의 문제가 발견 되었다.


1. LINK : fatal error LNK1104: 'mtxguid.lib' 파일을 열 수 없습니다.

확인 해보니 더 이상 VC++ 8 버전에서는 'mtxguid.lib'가 존재 하지 않는다.
다른 lib 로 바이너리들이 통합 된것으로 보이며 링커 옵션에 추가 되어 있는 'mtxguid.lib' 를 지우면 된다.

추가적으로 main을 못찾는다는 링크 에러가 발생하면 "ATL에서 CRT 사용 최소화" 옵션을 사용 하지 않는다.


2. GetObjectContext 링크 에러

링크 옵션에 "comsvcs.lib" 를 추가 하면 된다.



3. def 파일의 심볼에 서수 지정 경고

아래와 같이 def 파일의 함수 이름에 서수가 지정 되어 있으면 아래와 같이 경고가 표시 된다
warning LNK4222: 내보낸 'DllCanUnloadNow' 기호를 서수로 지정하면 안 됩니다.
warning LNK4222: 내보낸 'DllGetClassObject' 기호를 서수로 지정하면 안 됩니다.
warning LNK4222: 내보낸 'DllRegisterServer' 기호를 서수로 지정하면 안 됩니다.
warning LNK4222: 내보낸 'DllUnregisterServer' 기호를 서수로 지정하면 안 됩니다


그런 경우 def 파일을 열어서 아래와 같이 서수에 해당하는 부분을 지워 준다.
EXPORTS
    DllCanUnloadNow     PRIVATE
    DllGetClassObject   PRIVATE
    DllRegisterServer   PRIVATE
    DllUnregisterServer    PRIVATE


그 외에 deprecation 되어 있는 CRT 함수들의 경고들은 무시해 주거나 새로운 버전의 CRT 함수를 사용 하면 된다.

ex) sprintf -> sprintf_s



참고 : http://social.microsoft.com/Forums/en-US/vcgeneral/thread/1b44c27b-db1c-4879-9eb9-4bf2a128b88f

'Dev > Windows' 카테고리의 다른 글

COM+ 패키지 활성화별 세션 상태 정리  (0) 2009.09.22
Redmine 세팅  (0) 2009.09.12
유니코드(UNICODE), C++  (0) 2008.10.16
VARIANT 에서 객체 추출하기  (0) 2008.09.09
ffmpeg  (0) 2008.04.09
유니코드 (네이버 백과사전)
국제표준으로 제정된 2바이트계의 만국 공통의 국제 문자부호 체계(UCS: Universal Code System)를 말한다. 애플컴퓨터·IBM·마이크로소프트 등이 컨소시엄으로 설립한 유니코드(Unicode)가 1990년에 첫 버전을 발표하였고, ISO/IEC JTC1에서 1995년 9월 국제표준으로 제정하였다. 공식 명칭은ISO/IEC 10646-1(Universal Multiple-Octet Coded Character Set)이다.

유니코드는 전세계 문자코드를 정의하기 위해서 만든 놈이다

그럼 이전에는 어떻게 표현 했는가?

이전에는 알파벳틱한 애들은 1바이트에서 7비트 내로 표현하고(Ascii) 그외에 확장적인 문자가 코드 127 위로 표시되고, 한글과 같이 더 많은 바이트가 필요한 것들은 2바이트로 표현을 했다.

그래서 문제는 코드 127 위로 넘어가면 윈도우의 경우 각 나라의 OS별로 표현하는 방법이 틀렸다
(이전에 터보C 3.0 이전 IDE를 생각하면 될것이다. 콘솔화면으로 표현한 UI에서 옆에 테두리가 어떻게 나왔는지를...)

한글의 경우도 2바이트 문자로 표현을 하였고 이것을 MBCS(Multibyte Character Set) 이라고 한다.



UNICODE 

2바이트 문자를 표현하기 위해 만든 C++의 타입이 있었으니 그것이 바로 wchar_t 타입이다.
(그런데 wchar_t 의 경우 OS마다, 컴파일러마다 정의가 약간 틀린듯하다. -_-;; )

그럼 문자열을 어떻게 표현을 할까?
정수를 long 타입으로 표현할때 쓰는 뒤에 L를 붙이는것과 일맥상통 하게 앞에 L 을 붙여서 표현한다.

10 (int)
10L (long)

"a" (char)
L"a" (wchar_t)

wchar_t wsz[] = L"김";   // UNICODE 총 2바이트 사용 (2바이트 문자셋 1개 사용)
char sz[] = "김";            // MBCS 총 2바이트 사용 (1바이트 문자셋 2개 사용)


그리고 wchar_t 타입에 대응되는 표준 라이브러리들이 아래와 같은 놈들이다.
C++ 클래스 : wostream, wfstream, wstring ...
C 함수 : wcslen, wcslen ...

그리고 WinAPI 로는...
MessageBoxW, GetCurrentDirectoryW, CreateDirectoryW

어라.. 근데 처음 보는 놈들일것이다.
MessageBox 는 알아도 MessageBoxW 는 무엇인가...
MSDN 를 뒤져도 찾기가 쉽지 않다.

WinAPI 에서는 문자열을 사용하는 API에 대해서 MBCS와 UNICODE에 대응되는 함수를 각각 가지고 있다.
그리고 거의 모든 API 에서 뒤에는 A(MBCS) 또는 W(UNICODE) 를 붙이는 것으로 표시를 하고 있는것이다.

그래서 MessageBox 라는 것은 함수 이름이 아니며 그것들을 스위칭 하는 매크로 이름이다.
실제 함수는 아래와 같이 MessageBoxA 혹은 MessageBoxW 로 매크로에 의해 치환되는것이다.

#ifdef UNICODE
#define MessageBox  MessageBoxW
#else
#define MessageBox  MessageBoxA
#endif // !UNICODE


관련해서 타입들도 이런한 것들이 존재한다.

LPCSTR =>  const char *
LPCWSTR =>  const wchar_t *
LPCTSTR =>  LPCSTR <-> LPCWSTR 스위칭 

"김" =>  const char *
L"김" =>  const wchar_t *
_T("김") =>  "김" <-> L"김" 스위칭

이 스위칭들은 UNICODE 와 _UNICODE 매크로 정의에 의해서 각각 해당 함수 혹은 타입으로 정의가 된다.
(UNICODE 와 _UNICODE 을 두개를 같이 정의 해야되는데 왜 2개를 만들었는지 모르겠다. 암튼..)

그리고 MSDN에서는 아래와 같이 함수인양 사기(?)를 치는것이다.

MessageBox
The MessageBox function creates, displays, and operates a message box. The message box contains an application-defined message and title, plus any combination of predefined icons and push buttons.

int MessageBox(
  HWND hWnd,          // handle of owner window
  LPCTSTR lpText,     // address of text in message box
  LPCTSTR lpCaption,  // address of title of message box
  UINT uType          // style of message box
);



UTF-8, UTF-16 ??

위에서 얘기했듯이 일반적으로 유니코드는 2바이트 문자로 표현을 한다.
그러다 보니 한글 파일의 경우 MBCS나 UNICODE나 크기가 별반 차이가 없다.

그런데 영어권 애들의 파일을 보자..
게네들은 겉으로는 아무것도 낳아진것이 없는데 파일의 크기가 2배가 되어야 한다.
이런 어처구니 없는 경우가 있나..
(내가 생각해도 그렇다. 허나 뒤에가면 우리가 어처구니 없어진다. ㅎㅎ)

그래서 얘네들이 머리를 굴려서 유니코드를 표현하는 방식을 여려게 만들었다.
그것이 바로 UTF (Unicode Transformation Format) 이다.

그중에 일반적으로 유니코드라로 불리는 2바이트 체계 표현이 UTF-16 이고,
영어권은 1바이트 기타 언어는 4바이트까지 가변적으로 표현 가능한것이 UTF-8 이다.
(유니코드의 127 까지의 문자는 ASCII 문자코드와 동일하다. 그래서 영어권 1바이트가 ASCII와 호환이 되는것이다.)

http://ko.wikipedia.org/wiki/UTF-16
http://ko.wikipedia.org/wiki/UTF-8

이러다 보니 한글은 UTF-8 로 가면 4바이트로 표현이 되어 버린다. 


UTF-8 

그럼 UTF-8 은 어떤 타입을 써야 하는가? 
char [] 아니면 wchar_t [] ??

아직까지 표준으로 정해진것은 없는 것으로 안다.
차기 표준에서 이것에 대해서 논의가 되고 있으니 좋은 결과가 있을것으로...


Byte Order Mark

2바이트 혹은 그 이상의 바이트로 표현을 하다보니 정수표현과 같이 머신, 플랫폼 간의 바이트 오더링(little-endian, big-endian)의 문제가 있다.


유니코드 파일

윈도우 유니코드 파일의 경우 아래와 같은 문자를 파일 맨앞에 세팅함으로서 구분을 한다
(이게 표준인지 윈도우만 그런지는 잘 모르겠다...)

유니코드(UTF-16, little-endian) : 0xFF 0xFE
유니코드 big endian (UTF-16, big-endian) : 0xFE 0xFF
UTF-8 : 0xFE 0xFF

'Dev > Windows' 카테고리의 다른 글

Redmine 세팅  (0) 2009.09.12
ATL Com Project VC++ 6 에서 VC++ 8 변환(업그레이드)  (0) 2009.03.27
VARIANT 에서 객체 추출하기  (0) 2008.09.09
ffmpeg  (0) 2008.04.09
벤치마킹  (0) 2007.10.17

IDispatch* GetDispatchPtr(VARIANT &var)
{
    VARIANT *pvar = &var;
    IDispatch* pdisp = NULL;

    if (var.vt == (VT_BYREF | VT_VARIANT)) {              // 1
        pvar = var.pvarVal;
    }

    if (pvar->vt == (VT_BYREF | VT_DISPATCH)) {           // 2
        pdisp = *pvar->ppdispVal;
    }
    else if (pvar->vt == VT_DISPATCH) {                   // 3
        pdisp = pvar->pdispVal;
    }

    return pdisp;
}

ex)
ADODB::_RecordsetPtr sp(GetDispatchPtr(var));



VB에서 Host 객체를 Early Binding 으로 호출 (컴포넌트를 참조한후 실행할 때..)
=> 3번만 호출

VB에서 Host 객체를 Late Binding 으로 호출 (CreateObejct 사용..)
=> 2번만 호출

VBScript 에서 Host 객체를 Late Binding 으로 호출 (VBScript 에서는 Late Binding만 지원)
=> 1번, 3번 호출

 

'Dev > Windows' 카테고리의 다른 글

ATL Com Project VC++ 6 에서 VC++ 8 변환(업그레이드)  (0) 2009.03.27
유니코드(UNICODE), C++  (0) 2008.10.16
ffmpeg  (0) 2008.04.09
벤치마킹  (0) 2007.10.17
달라진 기능 (IIS 6.0)  (0) 2007.09.28

+ Recent posts