현재 오프라인 상태입니다. 인터넷에 다시 연결하기를 기다리고 있습니다.

C + +에서 Microsoft 스크립트 컨트롤의 Run() 메서드를 호출 하는 방법

이 문서는 Microsoft 기계 번역 소프트웨어를 이용하여 번역되었으며 Microsoft Community에 의한 Community Translation Framework(CTF) 기술 혹은 사람이 번역한 내용에 의하여 사후 편집될 수 있습니다. Microsoft는 Knowledge Base에 있는 모든 문서에 다양한 언어로 접근할 수 있도록 하기 위하여 기계 번역, 사람에 의한 번역 및 커뮤니티가 편집한 내용을 모두 제공합니다. 번역된 문서는 어휘, 구문 및/혹은 문법에 오류가 있을 수 있습니다. Microsoft는 번역 오류로 인한 부정확성, 오류 및/또는 손해와 이를 고객이 사용하는 데에 대하여 책임을 지지 않습니다.

이 문서의 영문 버전 보기:229669
요약
이 문서에서는 Microsoft 스크립트 컨트롤을 사용 하 여 JavaScript 나 VBScript에서 정의한 서브루틴 또는 함수를 호출 하는 방법을 보여 줍니다.
추가 정보
스크립트 컨트롤 네 가지 메서드가 있습니다. 그 중 하나가 서브루틴 또는 함수를 실행 하는 Run()입니다. 이 메서드를 호출 하기 전에 스크립트 언어 지정, AllowUI, 설정 및 스크립트 컨트롤에 다음 스크립트 추가:
//---------------------- Begin ---------------------------#include <stdio.h>#import "C:\winnt\system32\msscript.ocx"  // msscript.ocx using namespace MSScriptControl;int main(void){	HRESULT hr = CoInitialize(NULL);	IScriptControlPtr pScriptControl(__uuidof(ScriptControl));	// Create a VARIANT array of VARIANTs which hold BSTRs	LPSAFEARRAY psa;	SAFEARRAYBOUND rgsabound[]  = { 3, 0 }; // 3 elements, 0-based	int i;	psa = SafeArrayCreate(VT_VARIANT, 1, rgsabound);	if (!psa)	{		return E_OUTOFMEMORY;	}	VARIANT vFlavors[3];	for (i = 0; i < 3; i++)	{		VariantInit(&vFlavors[i]);		V_VT(&vFlavors[i]) = VT_BSTR;	}	V_BSTR(&vFlavors[0]) = SysAllocString(OLESTR("Vanilla"));	V_BSTR(&vFlavors[1]) = SysAllocString(OLESTR("Chocolate"));	V_BSTR(&vFlavors[2]) = SysAllocString(OLESTR("Espresso Chip"));	long lZero = 0;	long lOne = 1;	long lTwo = 2;	// Put Elements to the SafeArray:	hr = SafeArrayPutElement(psa, &lZero,&vFlavors[0]);	hr = SafeArrayPutElement(psa, &lOne,&vFlavors[1]);	hr = SafeArrayPutElement(psa, &lTwo,&vFlavors[2]);	// Free Elements from the SafeArray:	for(i=0;i<3;i++)	{		SysFreeString(vFlavors[i].bstrVal);	}	// Set up Script control properties	pScriptControl->Language = "JScript";	pScriptControl->AllowUI = TRUE;	pScriptControl->AddCode(		"function MyStringFunction(Argu1,Argu2,Argu3)\ 		{  return \"hi there\" ;}" );	//  Call MyStringFunction with the two args:	_variant_t outpar = pScriptControl->Run("MyStringFunction", &psa);		// Convert VARIANT to C string:	_bstr_t bstrReturn = (_bstr_t)outpar;	char *pResult = (char *)bstrReturn;	// Print the result out:	printf("func=%s\n",pResult);		//  Clean up:	SafeArrayDestroy(psa);	CoUninitialize();	return(0);}// --------------- End -----------------------				
참조
스크립트 컨트롤에 대 한 정보를 찾을 수 있는 MSDN 사이트 스크립팅.

자세한 내용은 Microsoft 기술 자료의 다음 문서에서 찾을 수 있습니다.
184977 VBScript에서 MFC에 대 한 수정: ScriptControl 보고서 잘못 된 언어

165967 PRB: 비-variant 배열을 참조 하는 경우 스크립트 오류를 발생
SafeArray Scriptcontrol 실행

Warning: This article has been translated automatically

속성

문서 ID: 229669 - 마지막 검토: 07/20/2013 11:25:00 - 수정: 3.0

  • kbautomation kbhowto kbscript kbmt KB229669 KbMtko
피드백
if?DI=4050&did=1&t=">oFirePV = 1; var varClickTracking = 1; var varCustomerTracking = 1; var Route = "76500"; var Ctrl = ""; document.write("