小编And*_*rew的帖子

从C++调用JavaScript函数

我有一个CDHTMLDialog,我有2个HTML页面和一个.js文件,有一些相当简单的功能.

我希望能够从我的程序中调用一个JS函数,并使用它传递一个简单的数据类型.例如MyFunc(int).什么都不需要退货.

我很感激任何有关我如何做到这一点的指导,

谢谢.

编辑:感谢CR的答案,以及其他提交了这些想法的人.

有点像这样的东西最终起作用(为了清晰起见剥离了一点错误处理):

void callJavaScriptFunc(int Fruit)
{
    HRESULT hRes;
    CString FuncStr;
    CString LangStr = "javascript";
    VARIANT vEmpty = {0};

    CComPtr<IHTMLDocument2> HTML2Doc;
    CComPtr<IHTMLWindow2> HTML2Wind;

    hRes = GetDHtmlDocument(&HTML2Doc);
    hRes = HTML2Doc->get_parentWindow(&HTML2Wind);

    if( Fruit > 0 ) 
    {
        FuncStr = "myFunc(808)";  // Javascript parameters can be used
        hRes = HTML2Wind->execScript(FuncStr.AllocSysString(), LangStr.AllocSysString(), &vEmpty);
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript c++ mfc

6
推荐指数
1
解决办法
4886
查看次数

使用QMake为'make check'设置PATH/LD_LIBRARY_PATH

我有一个带有共享库的几个应用程序的项目设置,这是使用SUBDIRS项目很好地构建的,其中应用程序依赖于共享库.

TEMPLATE = subdirs
SUBDIRS = app1 app2 sharedLib
app1.depends = sharedLib
app2.depends = sharedLib
Run Code Online (Sandbox Code Playgroud)

每个应用程序还包含许多测试,包括CONFIG += testcaseset.

这创建了一个check目标,因此我们可以使用顶层.pro运行所有单元测试make check.

问题是某些应用程序测试需要在sharedLib中存在代码,因此需要根据每个平台库查找规则来发现它.

在Windows上,一个选项是PATH在linux 上有sharedLib位置,我们可以LD_LIBRARY_PATH在mac上添加sharedLib位置DYLD_LIBRARY_PATH.

一种解决方案是在运行之前设置构建的共享库的位置make check:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:build/sharedDll/
make check
Run Code Online (Sandbox Code Playgroud)

这是有效的,但它似乎有点多余,因为构建脚本本身正在构建共享库,因此他们知道sharedLib二进制位置的路径,可以从.pro/pri文件中引用:

$$TOP_BUILDDIR/sharedLib/release
Run Code Online (Sandbox Code Playgroud)

那么,无论如何都要PATH/LD_LIBRARY_PATH/DYLD_LIBRARY_PATH在项目文件中为make check命令的目的设置?

qt qmake makefile

6
推荐指数
1
解决办法
2776
查看次数

使用COM对象/ CComPtr和STL时的建议

我正在使用directshow做一些COM相关的事情,例如:

typedef CComPtr<IBaseFilter> AutoIBaseFilterPtr;
map<CString, AutoIBaseFilterPtr> _filterMap;
Run Code Online (Sandbox Code Playgroud)

存储directShow相关com对象及其友好名称的列表.

在找到这篇文章(参见:问题2)后,关于VC10编译器中的更改如何影响以前的OK代码,我想知道在混合STL和CComPtr时是否还有其他需要注意的事项,或者只是将STL和COM混合在一起一般.

任何提示将不胜感激,谢谢

c++ com stl atl visual-c++

5
推荐指数
1
解决办法
1760
查看次数

支持多种人类语言

我正在考虑我的最后一年项目以及支持多种语言的可能性,例如英语,威尔士语,德语等.

是否有一种在程序中支持多种人类语言的标准方法?
存储不同语言的推荐文件格式是什么?

这是我无能为力但显然是一个非常常见的特征,所以欢迎任何建议.

我最熟悉使用mfc进行UI应用程序的c ++,目前正在学习Qt.因此,考虑到这种偏见的答案是好的.

(对不起,如果之前已经介绍过,但在SO上搜索'Languages'会返回编程语言相关问题的流程)

c++ internationalization

2
推荐指数
1
解决办法
278
查看次数

MFC / C ++相当于VB的AppActivate

AppActivate似乎是我所需要的,我相当确定必须有一个c ++ / mfc等效项。谢谢。

c++ vb6 mfc

1
推荐指数
1
解决办法
1034
查看次数

确定包含的头文件对总文件大小的贡献

我有兴趣减少我的应用程序的文件大小.它是一个在Visual Studio 2008中使用MVC++构建的MFC/C++应用程序.UPX可以很好地将最终的exe减少到原始大小的40%,但我想减少它.

MFC必须在此项目中静态链接.

我尝试过这个问题中概述的一些方法:reduce-windows-executable-size.特别是将不同的设置应用于编译器/链接器.

我相信通过查看项目中包含某些标题的"成本",我可以进一步缩小规模.

关于如何解决这个问题的任何提示,也许是一个可以为我分析我的代码的工具?谢谢

c++ model-view-controller mfc filesize header-files

1
推荐指数
1
解决办法
350
查看次数