问题列表 - 第16472页

多个 ProgID 可以指向同一个 ClsID 吗?

我正在研究一组本质上是插件的东西,它们是 COM 服务器。每个插件都有一组由另一个组件管理的配置数据,配置数据的主键是插件的 ProgID。当插件需要访问配置项时,它会进行调用并传入其 ProgID 和所需属性的名称。这是一个遗留设计,我必须保持向后兼容性。

我现在需要加载每个插件的多个实例,每个实例都有一组不同的配置数据。我正在考虑的解决方案是为每个插件创建多个唯一的 ProgID,每个 ProgID 将指向插件的单个 ClsId。因此,插件的每个实例都将通过其 ProgID 进行标识,ProgID 仍用作配置数据的主键,并且所有内容都 100% 向后兼容。

所以,问题:

  1. 这是一种可以接受的技术吗?(多个 ProgID 都指向单个 ClsID)。
  2. 当我的插件加载时,它是否能够分辨出使用哪个 ProgID 来创建它?

windows com ole com-interop progid

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

自定义C++操纵器问题

我正在尝试在我的日志记录类中实现自己的流操纵器.它基本上是改变旗帜状态的终点操纵器.但是,当我尝试使用它时,我会得到:

ftypes.cpp:57: error: no match for ‘operator<<’ in ‘log->Log::debug() << log->Log::endl’
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/ostream.tcc:67: note: candidates are: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>& (*)(std::basic_ostream<_CharT, _Traits>&)) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/ostream.tcc:78: note:                 std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ios<_CharT, _Traits>& (*)(std::basic_ios<_CharT, _Traits>&)) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/ostream.tcc:90: note:                 std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::ios_base& (*)(std::ios_base&)) [with _CharT = char, _Traits = std::char_traits<char>]
Run Code Online (Sandbox Code Playgroud)

...

码:

class Log {
public:
  ...
  std::ostream& debug() { return log(logDEBUG); }  
  std::ostream& endl(std::ostream& out);           // manipulator
  ...
private:
  ... …
Run Code Online (Sandbox Code Playgroud)

c++ stream manipulators

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

MongoDB:如何使用单个命令更新多个文档?

我惊讶地发现以下示例代码仅更新单个文档:

> db.test.save({"_id":1, "foo":"bar"});
> db.test.save({"_id":2, "foo":"bar"});

> db.test.update({"foo":"bar"}, {"$set":{"test":"success!"}});

> db.test.find({"test":"success!"}).count();
1
Run Code Online (Sandbox Code Playgroud)

我知道我可以循环并不断更新,直到它们全部改变,但这似乎非常低效.有没有更好的办法?

document mongodb nosql

127
推荐指数
6
解决办法
16万
查看次数

Linq到NHibernate:与众不同

我试图使用Linq-to-NHibernate获取以下SQL输出:

SELECT DISTINCT Name, at.Year FROM MyTable mt
INNER JOIN AnotherTable at ON at.Id = mt.AnotherTableId
Run Code Online (Sandbox Code Playgroud)

Name和Year属性将包含在一个新类中,因此C#代码将如下所示:

Session.Linq()
   .Select(x => new FooBar { Name = x.Name, Year = x.AnotherTable.Year }))
   .ToList();
Run Code Online (Sandbox Code Playgroud)

如何让DISTINCT关键字出现在sql查询中?

.net sql linq-to-nhibernate

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

在Windows中模拟鼠标按钮单击

我正在使用QT在C++中编写远程桌面克隆.到目前为止,我能够将鼠标光标移动得很好.QT有一个很好的setPos函数.但是,我有点迷失用于模拟鼠标按钮点击的API /库.

我知道的一种方法是使用窗口的HWND将WM_(事件)发送到窗口.但是,我希望有一个更为突出的方法来完全控制鼠标.有没有其他方法告诉操作系统单击了鼠标左键?

谢谢.

mouse qt click button simulate

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

Ruby中的proc和lambda有什么区别?

什么时候你会使用一个而不是另一个?

ruby

168
推荐指数
4
解决办法
3万
查看次数

哪个是Java中Excel文件解析的更好的开源?

哪个更好的API用于Java Apache POI或JExcel API中的Excel解析?在速度,内存利用率和代码稳定性方面.

java excel apache-poi

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

GLSL与openGL2设置问题

我正在尝试将GLSL与openGL 2.0一起使用.

任何人都可以给我一个很好的教程,以便我可以正确设置GLSL.

关心Zeeshan

opengl

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

使用C#读取多个线程中的多个文件,慢!

我有一个Intel Core 2 Duo CPU,我正在从我的C:驱动器中读取3个文件,并将这些文件中的一些匹配值显示在屏幕上的EditBox上.整个过程需要2分钟.然后我想到在一个单独的线程中处理每个文件然后整个过程需要2.30分钟!即比单线程处理多30秒.

我期待相反的方向!我可以在CPU使用历史中看到两个图表.有一个请向我解释发生了什么?这是我的代码片段.

 foreach (FileInfo file in FileList)
{

   Thread t  = new Thread(new ParameterizedThreadStart(ProcessFileData));
   t.Start(file.FullName);  

}
Run Code Online (Sandbox Code Playgroud)

processFileData处理文件的方法在哪里.

谢谢!

c#-3.0

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

为Mac OS X说话头库

是否有适用于Mac OS X/Cocoa/Objective-C的"讨论头"库?特别是那些简化将口语文本翻译成视词/面部表情的文章?微软将"Microsoft Agent"作为其Text to Speech API的一部分,Mac是否具备此功能的有力竞争者?

macos cocoa objective-c text-to-speech agent

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