草庐IT

com_ptr_t

全部标签

C++ 链接和 COM 注册问题

我已将新库添加到我的应用程序(多个项目-DLL)-SQLite,以执行一些内存缓存。只有一个库/项目受此更改影响-Lib1。构建顺利进行。所有库都已成功构建且未报告任何错误,包括几个Com对象。如果我尝试注册com对象,我会得到TheDLLcouldnotbeloaded。检查以确保所有必需的应用程序运行时文件和其他依赖DLL在组件DLL的目录或系统路径中可用。消息。但是所有的库都在同一个地方。一切都在路上。该项目的拷贝可以很好地构建和注册(当然没有对SqlLite进行的少量更改)。Dependencywalker报告没有问题奇怪的是,如果我尝试注册com对象的DLL(使用regsvr

iphone - 当我使用 COM 以编程方式同步 iphone 时让 iTunes 通知我

我已经writtenanapplication将日历从LotusNotes同步到iphone(使用MSOutlook作为管道),我想告诉iTunes将更改推送到iphone。我可以使用COM接口(interface)(IITIpodSource.UpdateIpod)很好地完成此操作,但问题是此方法在启动同步时立即返回。然后iTunes会处理剩下的事情。我希望在iTunes完成同步时通知我的应用程序,以便我可以相应地更新我的GUI。因此,当iTunes正确同步iphone时,我的应用程序从未被告知何时它已完成。顺便说一句,我可以轮询的状态标志与事件一样正常...我在文档中找不到任何帮助

windows - 从 64 位应用程序使用 32 位进程内 COM 服务器的简单方法有哪些?

我有一个32位nativeC++ATL进程内COM服务器,它依赖于大量遗留的32位库。我需要在64位应用程序中使用它,并尽可能进行最小的更改。一种选择是将其放入COM+应用程序中。还有哪些简单的选择? 最佳答案 创建一个加载inproc服务器dll的32位助手应用程序,但它充当本地服务器。编译64位代理stub代码。然后,当64位应用程序尝试加载您的ActiveX时,它不会使用32位inproc(它无法加载),而是加载32位本地服务器-一个单独的进程-这是合法的。代理stub是从您的IDL自动生成的代码,应该可以很好地构建64位。

windows - 使用 windows com 端口发送中断字节

这是来自微Controller的数据表副本:Breakcharactersareafullcharactertimeoflogic0(includinga0wherethestopbitwouldbenormally).这是我想用WindowsCOM端口(WindowsSDK)生成的。问题是我看不到将停止位设置为零的方法。有什么想法吗?`SetCommBreak()看起来有点像我想要的,但我没有看到一种方法让它准确地定时只发送一个字节。环境:VisualC++(编写C代码)包括window.h在WindowsXP上谢谢! 最佳答案

c - 如何通过 COM 接口(interface)以编程方式激活 OLE 控件?

我有一个通过ActiveX嵌入按钮控件的应用程序。该按钮由第三方提供,它实现了整个范围的ActiveX接口(interface)(其中包括IOleInPlaceObject)。我确实引用了IUnknown按钮的实现。我面临的问题是IOleWindow::GetWindow对象提供的函数总是返回错误;错误代码是0x80004005这显然是一个commonHRESULTvalue意思是E_FAIL。描述性不强。值得一提的是,该对象还通过其IDispatch公开了一个hWnd属性。执行;查询成功,但该属性的值始终为零。谷歌搜索表明我可能需要在hWnd属性产生有用值之前“激活”OLE对象。有谁

C++/COM/代理 Dll : method override/method forwarding (COM implementation inheritance)

你好,祝你有美好的一天。情况:出于某种原因,有时我会遇到需要覆盖COM接口(interface)的一个或两个方法(用于一些没有源代码的旧应用程序)的情况,这通常与Direct3D/DirectInput相关(即它是通过调用DLL方法而不是CoCreateInstance创建)。通常我通过编写一个代理DLL来处理这种情况,该DLL覆盖创建我需要“修改”的接口(interface)的方法,并用我自己的接口(interface)替换原始接口(interface)。通常这是使一些较旧的应用程序正常工作而不会崩溃/伪影所必需的。编译器:我在Windows机器上使用VisualStudioExpr

java - com.apple.eawt.Application 混淆后无法正常工作

我用Java为MacOSx和Windows编写了一个应用程序,但我是在Windows上开发的。因此,我使用java.lang.reflect.*来实现“关于”和“退出”处理程序而不接收异常。我已将其导出为可执行Jar,并且在两个操作系统上一切正常。但是,我想混淆应用程序并且我正在使用ProGaurd来这样做。我已经指定了它在Windows上工作所必需的库(rt.jar、jsse.jar、jce.jar)并且它在Windows上仍然可以正常工作,但是ProGaurd告诉我有两个未解析的类动态引用或接口(interface),混淆后的应用程序不再在Mac上正常工作(关于和退出处理程序不起作

c# - 将引用和 com 目录添加到 visual studio?

VisualStudio最近忘记了我的SQLServerCESDK安装(它们仍然存在,我尝试重新安装)。我只是想知道是否可以为visualstudio添加一个目录来查找引用?有点像在C++中如何拥有包含目录。 最佳答案 你可以为visualstudio指定一个目录来查找引用:AddReferenceSearchPathDialogBox“使用此对话框指定项目系统将搜索的附加目录路径,以解析对应用程序中DLL、程序集或模块的引用。” 关于c#-将引用和com目录添加到visualstudi

c++ - 使用 native /C++ 代码在 VS2010 中创建简单 COM 对象的最简单方法是什么?

这是我发布的先前问题的后续问题(请参阅here)。我正在尝试从在HTML页面中运行的Javascript调用我的native/C++代码。所引用问题的答案是创建一个COM对象。然后,Javascript可以创建COM对象的实例并调用其上的方法以获取native/C++代码。所以现在我只剩下尝试创建一个简单的COM对象来接受来自Javascript的调用。看起来要走的路是创建一个DLL并将COM对象放入该DLL中。多年前,我阅读了大量有关COM的书籍,但从那时起就试图忘记它:)现在我很头疼,想知道如何在不成为COM专家的情况下轻松地解决这个问题。是否有推荐的使用COM对象设置DLL的简单

windows - COM 服务器 : ESP not saved across a function call when calling interface method

我正在EXE文件中实现COM服务器。准确地说,我正在向现有应用程序添加COM接口(interface)。最终目标是使应用程序自动化。第一个组件和一个接口(interface)(目前只有一个方法)基本就位。我可以在DLL中构建进程内服务器并成功获取接口(interface)指针并调用该方法。这是第一步,因为我只是在学习。我以后不需要DLL;它只是作为概念证明,我的组件和接口(interface)基本上没问题。然后我在EXE中构建了一个进程外服务器。我已经到了可以从客户端调用CoCreateInstance()的地步,然后启动EXE,注册其工厂,然后工厂创建组件的实例。CoCreateIn