MFCÀÇ VBScript FIX: ScriptControl º¸°í¼­ À߸øµÈ ¾ð¾î

±â¼ú ÀÚ·á: 184977 - ÀÌ ¹®¼­°¡ Àû¿ëµÇ´Â Á¦Ç° º¸±â.
¸ðµÎ È®´ë | ¸ðµÎ Ãà¼Ò

ÀÌ ÆäÀÌÁö¿¡¼­

Çö»ó

MFC ÀÀ¿ë ÇÁ·Î±×·¥ ScriptControl °³Ã¼¸¦ È£½ºÆÃÇÒ ¶§ ´ÙÀ½ ¿À·ù°¡ ³ªÅ¸³¯ ¼ö ÀÖ½À´Ï´Ù.
½ºÅ©¸³Æ® ¿£ÁøÀÌ À¯È¿ÇÑ ¾ð¾î·Î ÃʱâÈ­µÇÁö ¾ÊÀ¸¹Ç·Î ÀÛ¾÷À» ¿Ï·áÇÒ ¼ö ¾ø½À´Ï´Ù.
ÀÌÀü¿¡ ¾ð¾î¸¦ À§ÇØ VBScript SetLanguage ¸Þ¼­µå¸¦ »ç¿ëÇÏ¿© ¼³Á¤ÇÑ °æ¿ì¿¡µµ ¹ß»ýÇÕ´Ï´Ù. JScript ¶Ç´Â JavaScript ´ë·Î ÇØ´ç ¾ð¾î¿¡ ´ëÇÑ ScriptControl °³Ã¼ ÁöÁ¤Çϸé ÀÌ ¿À·ù°¡ ¹ß»ýÇÏÁö ¾Ê½À´Ï´Ù.

¿øÀÎ

ÄÁÆ®·Ñ·Î ¹× °£´ÜÇÑ ÀÚµ¿È­ °³Ã¼·Î ¾Æ´Ï¶ó È£½ºÆÃµÈ ScriptControl °³Ã¼ Á¦´ë·Î ÃʱâÈ­ÇÏÁö VBScript ÁöÁ¤µÈ ¾ð¾îÀÔ´Ï´Ù ÀÚü°¡ ½ÇÆÐÇÕ´Ï´Ù.

ÇØ°á ¹æ¹ý

µÎ °¡Áö ÇØ°á ¹æ¹ýÀ» ´ÙÀ½°ú °°½À´Ï´Ù.
  • ¾ð¾î ¼³Á¤Çϱâ Àü¿¡ Ãë¼ÒÇϽʽÿÀ.

    ¿À¸¥ÂÊ¿¡¼­ ScriptControl::SetLanguage("VBScript") È£ÃâÇϱâ Àü¿¡ ScriptControl::SetLanguage(NULL) È£ÃâÀ» Ãß°¡ÇϽʽÿÀ.
  • ScriptControl °³Ã¼ ÀÚµ¿È­:

    ¶Ç´Â ½ºÅ©¸³Æ® Á¦¾î ¿ÏÀüÇÑ ÄÁÆ®·ÑÀÌ ¾Æ´Ï¶ó ´ÜÁö ÀÚµ¿È­ °³Ã¼¸¦ ÀÚµ¿È­ÇÒ ¼ö ÀÖ´Â ScriptControl »ç¿ëÇÏ´Â ÀÀ¿ë ÇÁ·Î±×·¥À» ÀüȯÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¹®¼­¿¡¼­´Â »Ó¸¸ ¾Æ´Ï¶ó ÀÇÇØ °³¼±ÇÏ¿© ¼º´É Ç¥½ÃµÈ ¹ö±×¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Â ÀåÁ¡ÀÌ ÀÖ½À´Ï´Ù. Ŭ¶óÀÌ¾ðÆ® ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ActiveX ¿À¹öÇìµå°¡ ÅëÇØ À̵¿ÇÒ Çʿ䰡 ÄÁÆ®·Ñ È£½ºÆÃ Çù»ó, ºñ-UI ½ºÅ©¸³Æ® ÄÁÆ®·ÑÀÇ º»ÁúÀûÀ¸·Î ÇÊ¿äÇÏÁö ¾Ê½À´Ï´Ù.
¾Æ·¡ ¿¹Á¦ Äڵ带 »ç¿ëÇÏ´Â Visual C++ 5.0 COM ½±°Ô CoCreateInstance, ScriptControl Áö¿øÇϰí Ȱ¼ºÈ­ÇÒ ºÎºÐÀÔ´Ï´Ù.

¿¹Á¦ ÄÚµå

// Import Type Info from Script OCX - point path to the
// location of the Script Control on your development computer.
#import "C:\Program Files\Microsoft Script Control\msscript.ocx"

void CScrptctrlView::OnInitialUpdate()
{
   CView::OnInitialUpdate();

   OleInitialize(NULL); // Only if you haven't done this already
                        // or called AfxOleInit.
   using namespace MSScriptControl;
   try  // Make sure exception handling is turned on.
   {
      _bstr_t bstrLanguage(L"VBScript");
      _bstr_t bstrCode(L"MsgBox \"Hello World\"");

      // Create the Script Control, initialize Language, and
      // add code for processing.
      IScriptControlPtr spScriptCtl(__uuidof(ScriptControl));
      spScriptCtl->put_Language(bstrLanguage);
      spScriptCtl->AddCode(bstrCode);
   }
   catch(_com_error e)
   {
      TRACE(_T("Error (%08x) in %s: %s\n"), e.Error(),
                           e.Source(), e.Description());
   }
}
				

ÇöÀç »óÅÂ

Microsoft´Â ÀÌ ¹®¼­ÀÇ ½ÃÀÛ ºÎºÐ¿¡ ³ª¿­ÇÑ Á¦Ç°¿¡¼­ ¹®Á¦¸¦ È®ÀÎÇß½À´Ï´Ù. Microsoft Internet Explorer 5ÀÌ ÀÌ ¹ö±×°¡ ¼öÁ¤µÇ¾ú½À´Ï´Ù.

Ãß°¡ Á¤º¸

¹®Á¦¸¦ ÀçÇöÇϱâ À§ÇÑ ´Ü°è

  1. »õ MFC SDI ÀÀ¿ë ÇÁ·Î±×·¥À» ±âº» ActiveX ÄÁÆ®·Ñ¿¡ ´ëÇÑ Áö¿øÀ» ºñ·ÔÇÏ¿© ÀÀ¿ë ÇÁ·Î±×·¥ ¼³Á¤À» ¸¸µì´Ï´Ù.
  2. ÇØ´ç ScriptControlÀ» "ScriptControl °³Ã¼¿¡¼­" ActiveX ÄÁÆ®·Ñ µî·Ï Æú´õ ¾Æ·¡¿¡ ÀÖ´Â Project\Add Project\Components ¹× ÄÁÆ®·Ñ ¸Þ´º Ç׸ñÀ» ¼±ÅÃÇÏ¿© »ðÀÔÇϽʽÿÀ. µû¶ó ´ëÈ­ »óÀÚ¿¡ ÀÖ´Â ¸ðµç ±âº»°ªÀ» Àû¿ëÇϽʽÿÀ.
  3. º¸±â OnInitialUpdate ¸Þ¼­µå´Â ´ÙÀ½ Äڵ带 »ðÀÔÇϽʽÿÀ:
    // Import Type Info from Script OCX - point path to the
    // location of the Script Control on your development computer.
    #import "C:\Program Files\Microsoft Script Control\msscript.ocx"
    
    void CScrptctrlView::OnInitialUpdate()
    {
      CView::OnInitialUpdate();
    
      OleInitialize(NULL); // Only if you haven't done this already
                           // or called AfxOleInit.
      using namespace MSScriptControl;
      try  // Make sure exception handling is turned on.
      {
         _bstr_t bstrLanguage(L"VBScript");
         _bstr_t bstrCode(L"MsgBox \"Hello World\"");
    
         // Create the Script Control, initialize Language, and
         // add code for processing.
         IScriptControlPtr spScriptCtl(__uuidof(ScriptControl));
         spScriptCtl->put_Language(bstrLanguage);
         spScriptCtl->AddCode(bstrCode);
      }
      catch(_com_error e)
      {
         TRACE(_T("Error (%08x) in %s: %s\n"), e.Error(),
                              e.Source(), e.Description());
      }
    }
    						
  4. »õ ½ºÅ©¸³Æ® ÄÁÆ®·Ñ Ŭ·¡½º ÆÄÀÏ, Scriptcontrol.h, º¸±â¿¡ ÀÖ´Â # include ¹× Resource.h¿¡ ID_SCRIPT_CONTROL # define Ãß°¡ÇϽʽÿÀ. ºôµå ¹× ÀÀ¿ë ÇÁ·Î±×·¥À» ½ÇÇàÇϽʽÿÀ.

ÂüÁ¶

ÀÚ¼¼ÇÑ ³»¿ëÀº Microsoft ±â¼ú ÀÚ·áÀÇ ÂüÁ¶ÇϽʽÿÀ.
184904FILE: MSSCPCTL.EXE ½ºÅ©¸³Æ® ÄÁÆ®·Ñ Çì´õ ÆÄÀÏ MSSCPCTL.H
ÀÚ¼¼ÇÑ ³»¿ëÀº ´ÙÀ½ À¥ URLÀ» ÂüÁ¶ÇϽʽÿÀ.
http://msdn2.microsoft.com/en-us/library/ms950396.aspx

¼Ó¼º

±â¼ú ÀÚ·á: 184977 - ¸¶Áö¸· °ËÅä: 2007³â 8¿ù 8ÀÏ ¼ö¿äÀÏ - ¼öÁ¤: 2.2
º» ¹®¼­ÀÇ Á¤º¸´Â ´ÙÀ½ÀÇ Á¦Ç°¿¡ Àû¿ëµË´Ï´Ù.
  • Visual Basic, Scripting Edition 3.0
  • Microsoft Visual C++ 5.0 Enterprise Edition
  • Microsoft Visual C++ 5.0 Professional Edition
Ű¿öµå:?
kbmt kbbug kbfix kbie500fix KB184977 KbMtko
±â°è ¹ø¿ªµÈ ¹®¼­
Áß¿ä: º» ¹®¼­´Â Àü¹® ¹ø¿ª°¡°¡ ¹ø¿ªÇÑ °ÍÀÌ ¾Æ´Ï¶ó Microsoft ±â°è ¹ø¿ª ¼ÒÇÁÆ®¿þ¾î·Î ¹ø¿ªÇÑ °ÍÀÔ´Ï´Ù. Microsoft´Â ¹ø¿ª°¡°¡ ¹ø¿ªÇÑ ¹®¼­ ¹× ±â°è ¹ø¿ªµÈ ¹®¼­¸¦ ¸ðµÎ Á¦°øÇϹǷΠMicrosoft ±â¼ú ÀÚ·á¿¡ ÀÖ´Â ¸ðµç ¹®¼­¸¦ Çѱ۷ΠÁ¢ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª ±â°è ¹ø¿ª ¹®¼­°¡ Ç×»ó ¿Ïº®ÇÑ °ÍÀº ¾Æ´Õ´Ï´Ù. µû¶ó¼­ ±â°è ¹ø¿ª ¹®¼­¿¡´Â ¸¶Ä¡ ¿Ü±¹ÀÎÀÌ Çѱ¹¾î·Î ¸»ÇÒ ¶§ ½Ç¼ö¸¦ ÇÏ´Â °Íó·³ ¾îÈÖ, ±¸¹® ¶Ç´Â ¹®¹ý¿¡ ¿À·ù°¡ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. Microsoft´Â ³»¿ë»óÀÇ ¿À¿ª ¶Ç´Â Microsoft °í°´ÀÌ ÀÌ·¯ÇÑ ¿À¿ªÀ» »ç¿ëÇÔÀ¸·Î½á ¹ß»ýÇÏ´Â ºÎ Á¤È®¼º, ¿À·ù ¶Ç´Â ¼ÕÇØ¿¡ ´ëÇØ Ã¥ÀÓÀ» ÁöÁö ¾Ê½À´Ï´Ù. Microsoft´Â ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ ±â°è ¹ø¿ª ¼ÒÇÁÆ®¿þ¾î¸¦ ÀÚÁÖ ¾÷µ¥ÀÌÆ®Çϰí ÀÖ½À´Ï´Ù.
´õ ÀÌ»ó Áö¿øµÇÁö ¾Ê´Â Á¦Ç°ÀÇ KB ³»¿ë¿¡ ´ëÇÑ °íÁö »çÇ×
ÀÌ ¹®¼­¿¡¼­´Â Microsoft¿¡¼­ ´õ ÀÌ»ó Áö¿øÇÏÁö ¾Ê´Â Á¦Ç°¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù. µû¶ó¼­ ÀÌ ¹®¼­´Â "ÀÖ´Â ±×´ë·Î" Á¦°øµÇ¸ç ¾÷µ¥ÀÌÆ®µÇÁö ¾Ê½À´Ï´Ù.

Çǵå¹é º¸³»±â