⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 basscript.h

📁 自己寫一個語言分析解釋器
💻 H
字号:
#ifndef __BASSCRIPT_H__
#define __BASSCRIPT_H__


#ifdef BASSCRIPT_EXPORTS
   #define BASSCRIPT_API __declspec(dllexport)
#else
   #define BASSCRIPT_API __declspec(dllimport)
#endif


class IScriptCallback
{
public:
   virtual bool GetProperty(LPCWSTR pstrName, VARIANT* pvValue) = 0;
   virtual bool SetProperty(LPCWSTR pstrName, VARIANT vValue) = 0;
   virtual bool Method(LPCWSTR pstrName, VARIANT* pvArgs, int nArgs, VARIANT* pvRet) = 0;
};


class CBaseScript 
{
public:
   virtual void Clear() = 0;
   virtual void Cancel() = 0;
   virtual bool RunScript(LPCSTR pstrCode) = 0;
   virtual bool RunScriptFromFile(LPCSTR pstrFilename) = 0;

   virtual bool Evaluate(LPCSTR pstrCode, VARIANT* pRet) = 0;

   virtual bool RegisterObject(LPCSTR pstrName, IScriptCallback* pCallback) = 0;
   virtual bool RegisterGlobals(IScriptCallback* pCallback) = 0;

   virtual void GetErrorMessage(int& iLineNum, 
      LPSTR pstrMessage, int cchMessage, 
      LPSTR pstrCode, int cchCode, 
      LPSTR pstrLine, int cchLine) = 0;
};


BASSCRIPT_API CBaseScript* CreateScriptEngine(void);
BASSCRIPT_API void DestroyScriptEngine(CBaseScript*);


#endif  // __BASSCRIPT_H__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -