atlcom

    0热度

    1回答

    使用VS2008向导使用ATL COM,我创建了一个服务(即不做任何事情目前比启动和停止等) 我希望使用(进程外)COM对象 如果我添加一个#进口 “object.tlb”,然后重新编译给人 错误C2812:#进口不支持使用/ clr:纯和/ CLR:安全 更改属性时要使用/ CLR (不纯或安全),允许编译,但安装服务失败“尝试加载与链接地址信息无法核实的可执行文件” 任何意见赞赏的 彼得

    2热度

    1回答

    环境:VS2008,C++ ATL COM位,64位,Windows 7的 我试图从旧的COM接口删除的方法。我修改* .idl,修改关联的* .h和* .cpp实现文件,并将其从主项目的.h文件中移除。我可以搜索整个项目的旧方法名称 - 不显示,并且编译/链接正常。但是,如果我然后使用对象浏览器来查看编译的DLL - dang方法仍然存在!如果我在.NET项目中'引用'该DLL - 显示该方法。

    0热度

    1回答

    COleVariant var(bstrString); var.ChangeType(VT_DATE); DATE date = var.date; 似乎没有工作。任何想法将不胜感激。谢谢。

    0热度

    1回答

    最好的办法: 我这是怎么创造C++中的计时器:一次下面的触发回调 if (FALSE == CreateTimerQueueTimer(&m_hSampleStarvationTimer, m_hSampleStarvationTimerQueue, (WAITORTIMERCALLBACK)TsSampleStarvationTime

    0热度

    1回答

    仅供参考我在COM \ ATL和Unicode初学者 我用我的代码SafeArrayPutElement(safearray*,LONG,void*)和问题是... 这里,功能工作正常,当我给第三个参数为L"ItWorks" 即 SafeArrayPutElement(safearray*,LONG, L"ItWorks"); ,但如果我使用 wchar_t str; str = 'a';

    7热度

    1回答

    我有一个32位COM服务器(及其源代码) 该源生成服务器和一个32位代理存根。 (MIDL编译器生成代理存根代码。) 我想创建一个64位代理,以便64位程序可以与我的32位COM服务器通信。 如何将32位代理转换为与32位进程对话的64位代理? 我猜只是用/ D:_M_AMD64重新编译是不够的。

    0热度

    1回答

    我有一个接口指针,指向坐在进程1中的COM对象。我想从另一个进程访问同一个对象。我怎样才能达到这个目的?由于地址空间不同,我相信直接传递指针将不起作用。我知道它涉及到编组/代理/存根的东西。但我不知道细节。 有人可以提供一些关于要遵循的步骤和要调用的函数的详细说明吗?非常感谢。我不是COM对象本身的设计者。我只是用它。

    3热度

    1回答

    有没有一种简单的方法来创建自IDispatch的派生和可以传递到像这样的API(这是C++)类:用于处理一个invoke pDOM2->attachEvent(CComBSTR("event"), new DispatchFunction); 我知道如何创建一个C++对象值得怀疑的是0,但手工实现所有IDispatch总是有点痛苦。我想知道ATL是否有一些标准的做法,因为它很常见。

    0热度

    2回答

    我正在MFC应用程序似乎是自动承诺〜160MB的虚拟内存。该应用通常在10-14MB的内存使用情况下运行,因此提交的内存水平似乎过高。另外,在VirtualAlloc被调用的代码中没有... COM & ATL也被使用。 在__tmainCRTStartup中的断点可以到达之前,内存会显示已提交进程启动的实例。 该内存如何保留/提交? 在此先感谢!

    0热度

    1回答

    我试图建立在VC++ 2008的一个项目,它是给下面的错误: error C2664: 'HRESULT ATL::CComVariant::ReadFromStream (IStream *,VARTYPE,ATL::ClassesAllowedInStream,DWORD)' : cannot convert parameter 3 from 'const int' to 'ATL::Cl