为什么在Eclipse中调用时我的Jython交互式控制台无法创建?
在Jython手册(http://www.jython.org/jythonbook/en/1.0/JythonIDE.html)中的"在IDE中使用Jython"说明后,我在"测试"部分的"清单11-10"之前就已到达,具体来说:
首先,单击控制台工具栏上最右侧的按钮(您将其识别为左上角带有加号的按钮,当您将鼠标移到其上时,它具有Open Console提示).从菜单中选择PyDev Console.到下一个对话框,回答Jython控制台.完成此操作后,您将获得嵌入在IDE中的交互式解释器
我选择'Open Console' - >'PyDev Console' - >'Jython Console' - >'OK'.将出现"创建交互式控制台"对话框,然后:
初始化控制台时出错.连接到控制台时出现意外错误.无法从pydevconsole中重新获得合适的Hello响应.收到上一个消息:HTTP服务器返回意外状态:null
我的设置:
我正在研究COM dll.我希望将BSTR转换为std :: string以传递给采用const引用参数的方法.
似乎使用_com_util :: ConvertBSTRToString()来获取BSTR的char*等价物是一种合适的方法.但是,API文档很稀疏,实现可能有问题:
http://msdn.microsoft.com/en-us/library/ewezf1f6(v=vs.100).aspx http://www.codeproject.com/Articles/1969/BUG-in-_com_util-ConvertStringToBSTR-and- _com_util
例:
#include <comutil.h>
#include <string>
void Example(const std::string& Str) {}
int main()
{
BSTR BStr = SysAllocString("Test");
char* CharStr = _com_util::ConvertBSTRToString(BStr);
if(CharStr != NULL)
{
std::string StdStr(CharStr);
Example(StdStr);
delete[] CharStr;
}
SysFreeString(BStr);
}
Run Code Online (Sandbox Code Playgroud)
使用ConvertBSTRToString()的替代方案有哪些优缺点,最好是基于标准方法和类?