Articles of c ++ builder

C ++编译器隐式地实例化模板类的所有成员函数是否有效?

假设我有一个公共类和一个私有实现类(例如PIMPL模式),我希望用带有删除检查的模板智能指针类来包装私有类,如下所示: PublicClass.h class PrivateClass; // simple smart pointer with checked delete template<class X> class demo_ptr { public: demo_ptr (X* p) : the_p(p) { } ~demo_ptr () { // from boost::checked_delete: don't allow compilation of incomplete type typedef char type_must_be_complete[ sizeof(X)? 1: -1 ]; (void) sizeof(type_must_be_complete); delete the_p; } private: X* the_p; }; // public-facing class […]

阻止Windows关机

我需要每次在Windowsclosures过程之前执行一些代码。 所以,我想阻止Windows关机过程一段时间。 我怎么能从Java或C ++ Builder做到这一点? 谢谢。

如何在closures应用程序时禁止“此应用程序中仍有活动的COM对象”错误?

我已经写了几个ATL COM对象,用于在我的C ++ Builder应用程序中进行拖放操作。 由于我无法控制的原因,当用户尝试closures它时,我的应用程序仍然有活动的COM对象。 这是因为使用我的对象的其他COM客户端似乎caching我的COM对象,并不释放它们 – 因此,当用户单击“X”closures我的程序时,我的COM对象仍然有一个大于零的引用计数。 这导致用户得到如下不友好的消息: 我想我的应用程序默默终止,而不是问用户这个烦人的问题。 我如何压制这个信息?

Windows默认打印机未设置时,“没有select默认打印机”错误

当没有Windows默认打印机设置时,我需要打开打印机对话框。 当Windows默认打印机设置时,它可以正常工作。 TPrintDialog *dlgPrint = new TPrintDialog(frmDisplayDetail); if( dlgPrint->Execute()) { //code here } 但是,如果在Windows中没有默认的打印机设置,则dlgPrint->Execute()将引发一个exception: 没有select默认打印机 要检查默认的打印机索引,我使用了Printer()->PrinterIndex 。 没有Windows打印机设置时,此值变得不可访问: 错误E2122函数调用在地址XXX处由未处理的exceptionXXX终止 难道我做错了什么? 请提出解决scheme。

从C ++挂钩到Windows文件复制API

我需要钩住复制文件,以便在恶意文件被复制时停止进程。 我看到一个由猫人做的问题 从C#钩入Windows文件复制API 他提到在c ++中有这个问题的解决scheme。 我正在使用embarcadero c ++ builder(非MFC)。 这个解决scheme适用于c ++ builder吗?如果可以的话,任何人都可以发布这个链接,或者给我一个关于如何在C ++中挂载copyfile的提示?