vc++
Lytton_jing
这个作者很懒,什么都没留下…
展开
-
关于OPC自动化接口编程(OPCDAAuto.dll)几点注意问题
为了能够在工作中方便的应用OPC和充分的理解OPC的开发流程、内部机制,这两天正在研究开发OPC客户端程序,一般我们开发OPC客户端程序有以下几种方式:(1) 使用OPCNetAPI,需要用到OPCNetAPI.dll,OPCNetAPI.Com.dll(2) 使用自动化接口,需要用到OPCDAAuto.dll(3) 使用自定义接口,需要用到多个Wr转载 2012-08-17 11:15:54 · 22210 阅读 · 1 评论 -
如何设置CStatic的字体?
主 题: 如何设置CStatic的字体? 作 者: liuxwin 回复次数: 7 发表时间: 2006-9-22 16:16:43 正文内容: 无 回复人: dzct2006-9-22 16:19:39CStatic f; f.SetFont(&font);转载 2012-08-20 17:19:40 · 2270 阅读 · 0 评论 -
PID常用口诀
PID常用口诀126人阅读 | 0条评论 发布于:2010-4-19 14:00:00PID常用口诀: 参数整定找最佳,从小到大顺序查,先是比例后积分,最后再把微分加,曲线振荡很频繁,比例度盘要放大,曲线漂浮绕大湾,比例度盘往小扳,曲线偏离回复慢,积分时间往下降,曲线波动周期长,积分时间再加长,曲线振荡频率快,先把微分降下来,动差大来波动慢,微分时间应加长,理想曲线两个波,前高后低转载 2012-08-29 14:51:02 · 760 阅读 · 0 评论 -
OPC 技术文档之 IOPCBrowseServerAddressSpace 的使用
在制作 OPC Client 的时候通常需要浏览OPC Serve的所有已经定义的item名称(当然OPC Server必须支持这个选项),如果用VC的话就要使用到IOPCBrowseServerAddressSpace接口,那么,下面是提取item目录结构的一个自制的递归函数。void TryBrowseBranch(IOPCBrowseServerAddressSpace *pBSAS转载 2012-08-15 17:06:24 · 2353 阅读 · 1 评论 -
在VC中调用exe文件或者批处理文件方法总结
VINCNET 发布于: 2009-03-30 17:11在VC程序中调用exe文件或者批处理文件的方法:一、使用system函数。 该函数可以直接使用,调用exe程序或者bat批处理程序 例如:CString strCommand("d:\\test.bat"); system(strCommand);二、使用ShellExe转载 2012-07-19 15:12:24 · 1115 阅读 · 0 评论 -
Socket 错误一览表
出现网络联机错误Socket error #11001 表示您的计算机无法连上服务器,请检查您的Proxy设定以及Proxy相关账号,或暂时取消您防毒软件的「个人防火墙」。· 出现网络联机错误Socket error #11004 应该是网络联机状态问题,请用户检查网络联机是否正常。 · 出现网络联机错误Socket error #10060 Connection Timed Ou转载 2012-06-15 17:25:30 · 1817 阅读 · 0 评论 -
手把手教你玩转SOCKET模型之重叠I/O篇
目录:1. 重叠模型的优点2. 重叠模型的基本原理3. 关于重叠模型的基础知识4. 重叠模型的实现步骤5. 多客户端情况的注意事项一. 重叠模型的优点1. 可以运行在支持Winsock2的所有Windows平台 ,而不像完成端口只是支持NT系统。2. 比起阻塞、select、WSAAsyncSelect以及WSAE转载 2012-06-12 17:09:10 · 572 阅读 · 0 评论 -
深度探索I/O完成端口
引言要想编写一个高性能的服务器应用程序,必须实现一个高效的线程模型。让太少或者太多的服务器线程来处理客户的请求,都可能导致性能问题。例如,如果一个服务器创建单个线程来处理所有的请求,那么客户端可能长期等待而得不到响应,因为服务器同一时刻只能忙于处理一个请求。当然单个线程也能并发处理多个请求,当I/O操作被启动时,它可以从一个请求切换到另一个请求,但是这种结构相当复杂,并且不能充分利用多处理器的转载 2012-06-12 17:16:29 · 569 阅读 · 0 评论 -
几种winsock I/O模型的分析(全面分析)
概要 套接字是通信的基础,是支持网络协议数据通信的基本接口。Winsocket 提供了一些有趣的I/O 模型,有助于应用程序通过一种“异步”方式,一次对一个或者多个套接字上进行的通信加以管理。这些模型包括select (选择)、WSAAsynSelect (异步选择)、WSAEventSelect (事件选择)、Overlapped I/O (重叠 I/O )以及Comp转载 2012-06-12 16:46:22 · 1190 阅读 · 0 评论 -
WinSock重叠I/O模型
一.重叠I/O的概念及应用当调用ReadFile和WriteFile时,如果最后一个参数lpOverlapped设置为NULL,那么线程就阻塞在这里,直到读写完指定的数据后,它们才返回。这样在读写大文件的时候,很多时间都浪费在等待ReadFile和WriteFile的返回上面。如果ReadFile和WriteFile是往管道里读写数据,那么有可能阻塞得更久,导致程序性能下降。为了解决这个问转载 2012-06-12 17:14:30 · 540 阅读 · 0 评论 -
WinSock三种常规异步I/O模型
1.基于事件套接字集合的select模型select(选择)模型是Winsock中最常见的I/O模型。之所以称其为“select模型”,是由于它的“中心思想”便是利用select函数,实现对I/O的管理!最初设计该模型时,主要面向的是某些使用Unix操作系统的计算机,它们采用的是Berkeley套接字方案。select模型已集成到Winsock 1.1中,它使那些想避免在套接字调用过程中被无辜转载 2012-06-12 17:15:32 · 622 阅读 · 0 评论 -
动态创建多行一列的static
CStatic *pStatic=new CStatic[20]; //控件数组 CRect rect1(5,5,270,25); //初始位置 int IDC_STATICX=0; //初始IDC,不能重复,如果用IDC_STATIC1---IDCSTATIC9,要在资源头定义 pSt原创 2012-03-16 09:49:39 · 1619 阅读 · 1 评论 -
加入ado类后出现如下提示的解决办法
t添加了一个ADo类后出现如下错去提示,需在StdAfx.h里把#include // MFC database classes#include // MFC DAO database classes注释掉就可以了,因为在添加的ADo类里已经导入类库,再次导入就会重复 e:\program_flies\wincc\winccocxparam\debug\msjro.tlh(48原创 2012-03-16 09:48:03 · 2418 阅读 · 0 评论 -
静态控件(static)
静态控件主要用:对用户界面起说明和装饰作用。 静态控件根据其风格属性可派生出:静态图片控件、静态文本控件和静态自绘控件。 静态文本控件用来显示文本。 静态图片控件可以用来显示位图、图标、方框和图元文件,在图片控件中显示图片的好处是不必操心图片的重绘问题。 静态控件不能接收用户的编辑输入。 静态控件可以用CreateWindow或CreateWindowEx函数来创建。转载 2012-03-15 15:16:27 · 2931 阅读 · 0 评论 -
设置字体垂直居中
1、m_pStatic-> ModifyStyle(0, SS_CENTERIMAGE); 2、CStatic *cs; ... cs = new CStatic(); cs-> Create( "hello world ", WS_CHILD|WS_VISIBLE|SS_CENTER, CRect(50,80,原创 2012-08-20 17:20:41 · 1207 阅读 · 0 评论 -
操作注册表
C/C++ code #002 // \"Windows"\\"winsize" = "800*600"#003 //蔡军生 2007/11/05 QQ:9073204 深圳#004 std::wstring GetProfileString(LPCTSTR lpszSection, LPCTSTR lpszEntry,#005 LPCTSTR lpszDef转载 2012-09-29 17:06:22 · 394 阅读 · 0 评论 -
dll导出中函数中使用CString类型的参数引发的ESP出错
分类: C、VC/MFC J、PLC2010-05-19 22:05551人阅读 评论(2)收藏举报今天下午花了很久去调试这个bug,因为自己一个dll函数参数的疏忽,导致浪费很多的时间去调试。 这个参数直接使用了CString类型,后面会造成两次析构而引发ESP出错,直接崩掉... 回来的时候,抽空分析了一下,大致过程是这样的,先写个简单的伪代码转载 2012-10-12 12:58:20 · 1877 阅读 · 0 评论 -
mfc中UpdateData的用法
UpdateData(TRUE)——刷新控件的值到对应的变量。(外部输入值交给内部变量)即:控件的值—>变量。UpdateData(FALSE)—— 拷贝变量值到控件显示。(变量的最终运算结果值交给外部输出显示)即:变量值—>控件显示。例如,窗口中用 DDX_Text(pDX, IDC_EDIT1, m_usercode);将IDC_EDIT1编辑框控件与m_userc原创 2016-05-19 11:17:22 · 26288 阅读 · 0 评论 -
MFC调试出错:Unhandled exception in 0xC0000005:Access Violation
最后解决通过工程-设置里重新调回“以静态库”编译以下引用以为网友的文章,写的不错,对解决问题提供帮助MFC库文件版本对程序的影响:Unhandled exception in ***.exe(MFCO42D.dll)0xC00000005:Access Violation,但多数情况下还是对内存操作不当造成的一般情况下,我们开发的MFC程序,程序一般要用到VC中关于MF转载 2016-07-05 15:28:13 · 18153 阅读 · 0 评论 -
获取当前运行程序路径
VC上或取当前路径有多种方法,最常用的是使用 GetCurrentDirectory和GetModuleFileName函数,个中都有诸多注意事项,特别总结一下。一、获取当前运行目录的绝对路径1、使用GetCurrentDirectory函数假设程序路径为D:\Test\tst.exe,执行GetCurrentDirectory函数char pBuf[MAX_PATH];GetC转载 2016-05-20 10:01:43 · 7131 阅读 · 0 评论 -
Cstring 和其他类型相互转化
1、_bstr_t与CString相互转换_bstr_t bstr;CString strSql;CString -> _bstr_t: bstr = (_bstr_t)strSql;_bstr_t -> CString: strSql = (LPCSTR)bstr;2、CString转换为_variant_tCString转换为_variant_t:CString原创 2016-05-19 11:13:08 · 550 阅读 · 0 评论 -
vc6转2010
2、我使用VS2012运用strupr函数进行字符串大小写转换时出现问题。在生成解决方案时提示1>e:\daily study\vs2012\cstring使用\cstring使用\cstring使这是今天遇到的问题:(我用的是vs2010)swprintf( tempwcX, L"%s", tempStrX.c_str()); 修改成swprintf( tempwc原创 2016-03-15 13:00:37 · 993 阅读 · 0 评论 -
xp下开发的ocx,xp注册成功,win7下注册不成功,
Win 7 更新引起Ado编译错误引起,解决办法(错误如下:MSJRO.tlh(100) : error C2146: syntax error : missing ';'before identifier 'ConflictTables'MSJRO.tlh(100) : error C2501: '_RecordsetPtr' : missin原创 2016-02-26 17:22:15 · 2956 阅读 · 1 评论 -
vc编译设置区别
静态链接,将DLL库的内容,直接添加到生成的EXE中,并作为EXE文件的一个静态部分运行。作为静态链接,你不需要担心运行时需要的相关库文件,因为都链接到EXE文件中了。动态链接,生成的EXE文件,公包括EXE内部的内容,运行时,根据需要,加载相应的DLL。作为动态链接,你需要将运行时相关的DLL库文件放到相关的地方(1、与EXE同文件夹;2、系统环境变量Path指定的其它路径)。关于内转载 2016-02-19 16:07:10 · 339 阅读 · 0 评论 -
DAMAGE:After normal block(#****)
最近在调试程序的时候,遇到这样一个错误:damage:after normal block(#286) at 0x003865D8.当时想了半天没有想明白,明明分配空间了,有地址的,为什么删除时报错呢?代码如下: PSubTree *SPSTree =new PSubTree[cn];//定义子后缀子树 for(k=0;k// for(k=0;k转载 2013-10-15 14:57:33 · 827 阅读 · 0 评论 -
CString与LPCWSTR、LPSTR、char*、LPWSTR等类型的转换
CString与LPCWSTR、LPSTR、char*、LPWSTR等类型的转换 一.CString与LPCWSTR 两者的不同:LPCWSTR 是Unicode字符串指针,初始化时串有多大,申请空间就有多大,以后存贮若超过则出现无法预料的结果,这是它与CString的不同之处。而CString是一个串类,内存空间类会自动管理。 CString转换转载 2013-10-11 15:51:40 · 708 阅读 · 0 评论 -
Ansi、Unicode、UTF8字符串之间的转换和写入文本文件
最近有人问我关于这个的问题,就此写一篇blogAnsi字符串我们最熟悉,英文占一个字节,汉字2个字节,以一个\0结尾,常用于txt文本文件Unicode字符串,每个字符(汉字、英文字母)都占2个字节,以2个连续的\0结尾,NT操作系统内核用的是这种字符串,常被定义为typedef unsigned short wchar_t;所以我们有时常会见到什么char*无法转换为unsigned转载 2013-10-11 15:54:44 · 1037 阅读 · 0 评论 -
WINCC6.2 VB脚本如何对变量进行位操作?
已解决问题:WINCC6.2 VB脚本如何对变量进行位操作? 如题,在WINCC的VB脚本中如何对一变量的某一位进行操作?比如有一16位内部变量:Tag1 ,如何对它的第5位进行IF判断?最佳答案第5位进行IF判断:If HMIRuntime.Tags("Tag1").Read And &H10 Then...Else..转载 2012-12-20 11:59:14 · 5880 阅读 · 0 评论 -
WINCC6.2 VB脚本如何对变量进行位操作?
已解决问题:WINCC6.2 VB脚本如何对变量进行位操作? 如题,在WINCC的VB脚本中如何对一变量的某一位进行操作?比如有一16位内部变量:Tag1 ,如何对它的第5位进行IF判断?最佳答案第5位进行IF判断:If HMIRuntime.Tags("Tag1").Read And &H10 Then...Else..转载 2012-12-20 11:57:54 · 2844 阅读 · 0 评论 -
不要在dll或lib的导出函数以string(cstring)作返回值
这是因为string和csting采用了Copy-On-Write技术,Copy-On-Write使用了“引用计数”,这是一种内存共享机制。假设有一个动态链接库(叫myNet.dll或myNet.so)中有这样一个函数返回的是string类:string GetIPAddress(string hostname){static string ip;…………retur转载 2012-10-12 12:59:53 · 3398 阅读 · 1 评论 -
CRect类基本介绍
CRect类是MFC的常用类,十分基础,故整理出来以供新手参考。 我用金山快译查了一下没有rect这个单词,估计是rectangle的简写,rectangle是长方形、矩形的意思。 默认坐标系:原点为左上角,右边为x轴正方向,下边为y轴正方向。 构造函数(CRect)有五个原型,第二个原型和第三个原型是拷贝构造函数。现在我用其它三个构造函数构造一个左上角坐标为(10,20),x方转载 2012-03-15 15:17:18 · 1081 阅读 · 0 评论 -
VC++ 中改变对话框及相关控件的背景色(MFC)
最近在研究在VC++中自定义自己喜欢的窗体及控件背景色,在网上找到相关的信息,摘录如下,以及自己的实际实验结果: ---- 方法一:调用CWinApp类的成员函数SetDialogBkColor来实现。---- 其中函数的第一个参数指定了背景颜色,第二个参数指定了文本颜色。下面的例子是将应用程序对话框设置为蓝色背景和红色文本,步骤如下: [cpp]转载 2012-03-14 16:32:52 · 919 阅读 · 0 评论 -
托盘程序的编写过程
为了以后编写此类程序,特在此记录一下编写托盘程序的过程,便于以后的开发工作1、首先建立mfc的对话模式程序,然后在theapp中加入如下程序 BOOL CWincc_Esc_MessApp::InitInstance() { CWincc_Esc_MessDlg *dlg= new CWincc_Esc_MessDlg; m_pMai原创 2012-03-13 15:02:53 · 564 阅读 · 0 评论 -
在新工程中添加ADo类后报错解决办法
--------------------Configuration: DLLDload - Win32 Debug--------------------Compiling...StdAfx.cppCompiling...DLLDload.cppacl.cppe:\program_flies\recipe program\dlldload\debug\msjro.tlh(4原创 2011-11-11 16:03:36 · 2858 阅读 · 0 评论 -
VC定义的三种类型DLL有什么区别?
微软的Visual C++支持三种DLL,它们分别是Non-MFC Dll(非MFC动态库)、Regular Dll(常规DLL)、Extension Dll(扩展DLL)。Non-MFC DLL指的是不用MFC的类库结构,直接用C语言写的DLL,其导出的函数是标准的C接口,能被非MFC或MFC编写的应用程序所调用。Regular DLL:和下述的Extension Dlls一样,是用MF转载 2011-11-11 09:25:03 · 1419 阅读 · 1 评论 -
CString 操作指南大全
CString 操作指南原著:Joseph M. Newcomer翻译:littleloach原文出处:codeproject:CString Management通过阅读本文你可以学习如何有效地使用 CString。 CString 是一种很有用的数据类型。它们很大程度上简化了MFC中的许多操作,使得MFC在做字符串操作的时候方便了很多。不管怎样,使转载 2011-11-30 11:26:32 · 939 阅读 · 0 评论 -
MFC规则dll编译时出现的错误
为什么我用宏定义编译出错而不用宏定义就没有问题呢#ifndef DLL1_API #else#define DLL1_API extern "C" _declspec(dllimport)#endif.cpp中#define DLL1_API extern "C" _declspec(dllexport)编译提示错误Compiling...DLLDlo原创 2011-11-29 14:48:29 · 877 阅读 · 0 评论 -
在VC中如何使用OCX控件
首先感谢网络中的各位高手,我的文章只是对你们文章的Copy和学习。 工作中客户提供了一个ocx控件,学习了如何使用它。发现网上没用针对像我一样菜鸟的文章,所以我总结一下我的学习成果供菜鸟学习使用。1.注册OCX控件 在“开始->运行...”中输入命令 regsvr32 “路径”/*.ocx //注册控件 “路径”/*.ocx为你需要注册控件的全路径和名字转载 2011-10-27 15:30:33 · 1168 阅读 · 0 评论 -
VC获取当前程序文件的路径,文件名以及路径+文件名
1.方法1 char pBuf[MAX_PATH]; //存放路径的变量 GetCurrentDirectory(MAX_PATH,pBuf); //获取程序的当前目录 strcat(pBuf,"\\"); strcat(pBuf,AfxG转载 2011-10-27 15:19:26 · 963 阅读 · 0 评论 -
ADo执行到 CADODatabase::IsOpen()出错
比较简单的问题,但是对于初学则感觉比较麻烦,断点调试时每到程序 if(m_pConnection )这里是就出错,原因是m_pConnection 不能为空,解决调试代码出现的问题BOOL CADODatabase::IsOpen(){ if(m_pConnection ) return m_pConnection->GetState() != adStateClo原创 2011-10-19 17:17:15 · 3339 阅读 · 0 评论