12 2013 档案

摘要:由于项目需要,需要调用一款较早前开发的产品的接口。该产品是在BCB环境下开发的,提供的接口是一个DLL,是属于C++语言DLL。现在要在C#中调用,开始开发还算顺利,可是后面突然就异常了,而且异常的莫名其妙,说是HRESULT异常。按照以往调用C++DLL的经验,这个... 阅读全文
posted @ 2013-12-31 16:47 _学而时习之 阅读(464) 评论(0) 推荐(0)
摘要:在VS2012中安装了qt-vs-addin-1.2.1-opensource之后,可以直接新建QT5 Designer Plugin项目来构建插件。但是这里的插件都是基于接口QDesignerCustomWidgetInterface实现的,那我们是否可以自定一个插... 阅读全文
posted @ 2013-12-26 11:21 _学而时习之 阅读(685) 评论(0) 推荐(0)
摘要:在QT开发时,有里需要调用已经写好的DLL来实现一些功能,那要如何调用呢?我们先建一个DLL。在VS2012中建立C++ WIN32的DLL空项目DllTest,然后添加头文件和CPP文件,具体如下Calculate.h#ifdef __cplusplus #de... 阅读全文
posted @ 2013-12-26 09:20 _学而时习之 阅读(1113) 评论(0) 推荐(0)
摘要:Qt对于多语言提供了QTranslator的接口,只要在程序启动时进行安装,然后动态改变QTranslator的加载即可。下面是效果图(英文/简体/繁体)。选择不同的语言,界面会随着切换。这要如何实现呢?QTranslator会加载*.qm的语言档,而该文件是从*.t... 阅读全文
posted @ 2013-12-25 11:53 _学而时习之 阅读(760) 评论(0) 推荐(0)
摘要:在VS2012中编译QT时,要使用控件就得引用QtWidgets。如下#include 引入这个之后,VS会解出相关的文件,这时就可以正常使用相关的控件如QLabel/QLineEdit等,当然也可以通过#include 这样单一引用,不过每一类控件都需要引用一次会很... 阅读全文
posted @ 2013-12-25 10:38 _学而时习之 阅读(382) 评论(0) 推荐(0)
摘要:在VS2012中使用QT5.1,加载QtXml来操作xml档。可是出了一个很奇怪的问题。下面是实现代码#include "XmlTest.h"#include void XmlTest::write(){ QDomDocument document; QD... 阅读全文
posted @ 2013-12-24 11:23 _学而时习之 阅读(456) 评论(0) 推荐(0)
摘要:在QT中如果需要使用资源时,会用到一个qrc文件.qrc文件本质上是一个XML文件,里面描述了相应资源的位置。一般将需要引用的资源放到与main.cpp同级的目录。我用VS2012开发QT,如果按正常的情况来建立QT,会带有一个qrc文件和对就的qrc*.cpp的文件... 阅读全文
posted @ 2013-12-19 10:46 _学而时习之 阅读(1511) 评论(0) 推荐(0)
摘要:在C++中调用C#开发COM组件时,一般的接口调用都比较容易实现,但是对于COM组件中的事件,C++中要去响应却不好实现。因为C#中事件是采用委托机制,而C++中却没有委托的机制,这样就无法实现对应。那要怎么办呢?在C++中虽然没有委托的类型来对应,不过C++却可以开... 阅读全文
posted @ 2013-12-13 18:08 _学而时习之 阅读(815) 评论(0) 推荐(0)
摘要:1.下载Qt 5.1.1 for Windows到http://qt-project.org/downloads下载Qt 5.1.1 for Windows 32-bit (VS 2012, 511 MB) (Info)和Qt 5.1.1 for Windows 64... 阅读全文
posted @ 2013-12-12 15:07 _学而时习之 阅读(470) 评论(0) 推荐(0)
摘要:在开发时,有时会发现已定的类的方法并不能够全部满足需求,这时如果要扩展这个类,可以考虑通过继承新增一个类,那如如原来的类是密封类(sealed),那不就无法继承呢?这该怎么办呢?有人会说,这时可以再新建一个类,并将类名在原类上加一个加缀Extension。比如原类是E... 阅读全文
posted @ 2013-12-10 14:04 _学而时习之 阅读(443) 评论(0) 推荐(0)
摘要:在C和C++中常有用到宏定义#define,在C#中也这个关键字,不过功能不同了,C#中是作为条件编译的条件。#define XXX 是定义XXX为条件编译的条件,相当于将XXX设为true。#undef XXX是取消XXX的条件编译条件,相当于将XXX设为false... 阅读全文
posted @ 2013-12-09 15:01 _学而时习之 阅读(626) 评论(0) 推荐(0)
摘要:phpStudy集成了多种web服务的综合配置,如经典的apache+mysql、nginx+mysql等,在使用apache+mysql时,希望能够使用lua脚本,于是利用配置选项,启用lua模块,如下图但是经过这样的配置后,再重启apache服务时,却无法正常使用... 阅读全文
posted @ 2013-12-09 10:48 _学而时习之 阅读(601) 评论(0) 推荐(0)
摘要:最近在开发项目进行测试时,每次都要架设实体机器,很不方便,于是就想着可不可以写一个虚拟的机器,便于测试。我们项目与机器的通信方式是基于COM口的,于是要做虚拟机器,首先要解决的问题是创建虚拟的COM口。网上搜索一番,主要有VSPM和VSPD,前者是在WIN7前使用稳定... 阅读全文
posted @ 2013-12-06 12:01 _学而时习之 阅读(1508) 评论(1) 推荐(1)
摘要:在开发时,对于Combox控件,我们会对Items预置一些值,同时希望显示一个默认值。Combox中没有默认index这样的选项,于是会想着在程序加载时设置Combox的SelectedIndex为一个值,比如3.这样程序启动后就会显示SelectedIndex=3的... 阅读全文
posted @ 2013-12-06 09:29 _学而时习之 阅读(743) 评论(0) 推荐(0)
摘要:在数据通信或者调用C/C++的DLL时,会用到结构或类的封送(C#调用C++DLL传递结构体数组的终极解决方案),但是当结构或者类中用到string类型时,封送的数据会出现缺失。下面是以类的封送转换来举例。代码如下using System;using System.C... 阅读全文
posted @ 2013-12-05 09:45 _学而时习之 阅读(400) 评论(0) 推荐(0)
摘要:在Combox中有一系列的选项,其选项的SelectedIndex值对应了相应的枚举值,而这些枚举值会影响着后续的工作模式,所以就想着将Combox的SelectedIndex和枚举值进行双向绑定,代码如下using System;using System.Colle... 阅读全文
posted @ 2013-12-04 09:59 _学而时习之 阅读(563) 评论(1) 推荐(1)