读书人

关于C++Builder内嵌Javascript的有关问

发布时间: 2012-02-27 10:00:22 作者: rapoo

关于C++Builder内嵌Javascript的问题
开始的时候是
OleVariant obj=CreateOleObject("MSScriptControl.ScriptControl.1");
obj->Language ="JavaScript";
ShowMessage(VarToStr(obj->Eval("测试的代码")));

在obj->Language报错
改成
OleVariant obj=new OleVariant;
obj=CreateOleObject("MSScriptControl.ScriptControl.1");
obj->Language ="JavaScript";
ShowMessage(VarToStr(obj->Eval("测试的代码")));

仍然是obj->Language这里报错
可是obj->Language它就报错[BCC32 Error] Unit1.cpp(173): E2288 Pointer to structure required on left side of -> or ->*
不知道是什么原因,请指点一下。

我其实就只是想实现JSON字符串的显示
是类似\u9648\u6bc5\u946b这样的JSON字符串。
是经过PHP的json_encode转码的汉字,PHP中可以通过json_decode转回来,可是C==Builder里面我就不知道怎么解决了
想通过JS的内嵌实现字符串的翻译。

delphi有个组件可以内嵌PHP,CB好像没有。
而且那个组件要几个DLL才能用,暂时不想因为这一个函数而弄那么多杂乱的东西。

希望通过JS内嵌,或者其他不需要多用其他组件的方法能帮忙解决这个问题。

谢谢。

[解决办法]
类型错误,早绑定需要类型库的。
既然用C++怎么不用C++接口IActiveScript?
[解决办法]
需要先添加ScriptControl的OCX组件的吧
[解决办法]

探讨
Pointer to structure required on left side of -> or ->*

说明obj不是一个类对象或者结构对象,说明这个OleVariant没有创建成功

读书人网 >C++ Builder

热点推荐