草庐IT

Com_select

全部标签

c++ - 未提供时从 COM+ dll 获取 IDL(用于 TLB)

我有一个.dll,其中包含一些带有特定/自定义接口(interface)的directshow过滤器(COM)。大多数第3方directshow组件包含可用于跨环境通信(C#typelib导入)的嵌入式.tlb文件。我不愿意尝试手动创建c#所需的接口(interface),因为没有提供idl/tlb文件。是否可以从COM.dll生成一个tlb(或者至少是一个idl,我可以通过MIDL编译它)? 最佳答案 是的,可以对IDL(或非常接近它的东西)进行逆向工程/反汇编。您需要做的是给自己一个新的C++控制台项目,它提供默认代码#incl

c++ - 从 VS2012 在 C++ 中使用 ATL 创建 COM

尝试在VisualStudio2012中使用ATL创建简单的COM库。我这样做:NewATLProjectWelcometotheATLProjectWizardNextApplicationSettings-nochange(DLL)NextFinish得到了很多文件:试图了解在何处添加可由COM用户调用的简单函数。我发现只有一个地方可以使用向导添加功能:但我发现在参数选择方面缺少一些东西,比如in、out、retval。我希望在添加新功能后至少IDL文件也会更新,但这并没有发生。从VS2012的VisualC++使用ATL创建简单的COM类的方法是什么?

c++ - 遗传算法 : Langermann's function and Tournament selection

我在理解如何在我的遗传算法中实现Langermann函数和锦标赛选择时遇到了一些困难。我有this作为Langermann函数的引用,但我不明白C值从何而来,因为我只有X和Y。C值总是一组常数吗?至于锦标赛选择,我想随机选择我的人群中的任意3个人并比较他们的健康状况。一旦能够使用Langermann函数生成适应度值,我会将每个适应度值存储在一个vector中。然后我想从vector中选择3个独特的随机元素并将它们相互比较。如何在不使用相同数字的情况下从vector中选择3个唯一的随机元素?感谢任何帮助! 最佳答案 istheCval

c++ - 将 COM 事件公开给 VBScript (ATL)

我使用“ATL简单对象”向导用ATL在C++中构建了一个COM服务器DLL。我关注了微软的ATLDLLCOMServer例子。一切正常,除了一件事:我没有在VBScript中接收COM事件。我确实收到了C#中的事件。我在早期基于MFC的实现中使用VBScript处理事件作为ActiveX控件。我的控件是这样定义的:classATL_NO_VTABLECSetACLCOMServer:publicCComObjectRootEx,publicCComCoClass,publicIConnectionPointContainerImpl,publicCProxy_ISetACLCOMSer

c++ - "COM-like"框架解决了哪些问题?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我经常看到GObject库与类似COM-Windows的解决方案相比,一般来说,我真的不明白这个框架应该解决什么样的问题,以及采用它们有什么好处。我找到了一些小的答案,比如“它是一个可以轻松地将C库移植到其他语言的包装器”,但是GObject还提供了其他功能,比如信号/槽机制,还有其他涉及的东西,但老实说我不明白关于这件事的大局。你能用通俗易懂的英语解释一

c# - 如何用 C# 或 C++ 读取 COM TypeLib?

我的公司已经创建了几个COM对象,并且他们在.NET中愉快地使用它们。但是现在,我们的客户想换成Java。我认为将JACOB或j-interop(我不确定是哪一个)用于某些任务会很有趣,但生成的代码非常难以管理。所以我想写一个工具,可以读取COM库的TypeLib,然后生成Java包装类来隐藏所有那些难以管理的代码。我是COM领域的新手,不知道如何获取描述COM对象的接口(interface)、方法和参数的信息。我读到了一个叫做TypeLib的东西,但我不知道如何阅读它。我如何从中获取信息? 最佳答案 官方API可在此处获得:Typ

c++ - 由于 select() 调用返回 EBADF,是否有任何方法可以获取套接字描述符?

我有一个代码,我在其中使用select()函数调用来轮询添加到readfds集的套接字列表,用于任何传入数据。while(1){ret=select(n,&readfds,NULL,NULL,&tv);if(ret==-1){perror("SelectFailed");}elseif(ret==0){printf("SelectTimeout\n");}else{recv(clientSocket,buffer,1024,0);printf("Datareceived:%s",buffer);}}我在readfds列表中添加了很多套接字。我的代码中还有另一个线程正在关闭readfds

ssh: connect to host github.com port 22: Connection refused

ssh:connecttohostgithub.comport22:Connectionrefused问题现象本文以Windows系统为例进行说明,在个人电脑上使用Git命令来操作GitHub上的项目,本来都很正常,突然某一天开始,会提示如下错误ssh:connecttohostgithub.comport22:Connectionrefused。$gitpullssh:connecttohostgithub.comport22:Connectionrefusedfatal:Couldnotreadfromremoterepository.​Pleasemakesureyouhavetheco

ping github.com 请求超时

一、遇到问题今天访问github.com想下载git环境发现网页无法显示,后面使用命令提示符ping的时候发现请求超时。二、解决过程进入WhatIsMyIPAddress?FreeIPLookuphttps://www.ipaddress.com/ 点击IPLookup 分别输入github.com和github.global.ssl.Fastly.net并点击Lookup获取IP地址2.打开C:\Windows\System32\drivers\etc,找到hosts文件,使用文本文档打开在文件最末尾添加上#github地址140.82.114.3github.com199.232.69.1

前端下拉框select标签的插件——select2.js

本文采用的是select2版本:Select24.0.6-rc.1。可以兼容IE8及以上。亲测过。官网:GettingStarted|Select2-ThejQueryreplacementforselectboxes一、认识select2.js1、使用插件,首先要引入别人的插件了,你可以选择离线(无网络)或者在线引用的(如果有网络)。在线引用如下所示:离线引用如下所示:注意自己的引用路径哦