
c
文章平均质量分 78
peirenlei
网络通讯
展开
-
VC++ MFC DLL动态链接库编写详解
虽然能用DLL实现的功能都可以用COM来替代,但DLL的优点确实不少,它更容易创建。本文将讨论如何利用VC MFC来创建不同类型的DLL,以及如何使用他们。一、DLL的不同类型使用VC++可以生成两种类型的DLL:MFC扩展DLL和常规DLL。常规DLL有可以分为动态连接和静态连接。Visual C++还可以生成WIN32 DLL,但不是这里讨论的主要对象。1、MFC扩展DLL每个DLL都有某种类原创 2006-12-09 22:33:00 · 1204 阅读 · 0 评论 -
如何让API回调你的VC类成员函数而不是静态函数
只要在函数声明前加static就好了,哈哈哈哈哈~~~~~ 。。。开个玩笑。以前确实大家都是这样做的,在静态的成员函数中再查找this指针,它多半是全局变量,或者是回调函数提供的附加参数。如果是前者,就会大大破坏程序的结构。而现在,随着社会生产力的发展,偶们已经能做到将成员函数映射成为一个临时的静态函数了。本文就来演示一下这种实现方式。首先需要包含一个由yzwykkldczsh同志编写转载 2007-08-31 11:24:00 · 644 阅读 · 0 评论 -
透过汇编另眼看世界之类成员函数指针
前言:在优快云论坛经常会看到一些关于类成员函数指针的问题,起初我并不在意,以为成员函数指针和普通的函数指针是一样的,没有什么太多需要讨论的。当我找来相关书籍查阅了一番以后,突然意识到我以前对成员函数指针的理解太过于幼稚和肤浅了,它即不像我以前认为的那样简单,它也不像我以前认为的那样"默默无闻"。强烈的求知欲促使我对成员函数进行进一步的学习并有了这篇文章。一。理论篇在进行深入学习和分析之前,还是先转载 2007-08-31 14:54:00 · 344 阅读 · 0 评论 -
用完成端口写的echo server
完成端口网上的例子很多,但觉得都挺复杂的写了一个简化版的,方便学习,也加了注释。有任何问题,欢迎跟我讨论。========代码来了=========#include winsock2.h>#include mswsock.h>#include windows.h>#include iostream>using namespace std;int g_ThreadCount;HANDLE g_h转载 2007-08-27 11:48:00 · 501 阅读 · 0 评论 -
Mapx加载tab文件
以下代码演示了如何加载指定tab文件int CHtGisClientView::LoadCustomLayers(char *LayerDirPath){ CMapXLayerInfo layerInfo ;// CMapXFields mapFields; CStringArray tabFileList ; try{ layerInfo.C原创 2007-09-14 12:41:00 · 986 阅读 · 0 评论 -
mapx在指定点画图
以下代码演示了当鼠标按下时,在按下的点处画一个图片void CAddBasicResourceTool::OnMouseDownMap(short Button, short Shift, float X, float Y){ CMapXFeature ftr; CMapXStyle style; if ( !m_pView ) return ; float screenX,screenY原创 2007-09-13 17:36:00 · 1263 阅读 · 0 评论 -
读取属性值的方法
怎么读取某一个图元的某一个字段的属性值?方法1:利用CMapXDataset,CMapXFeature,CMapXField对象pdataset,pfeature,pfield:COleVariant rowVt;rowVt.vt = VT_DISPATCH;rowVt.pdispVal= pfeature.m_lpdispatch;rowVt.pdispVal->AddRef();C原创 2007-09-18 11:57:00 · 764 阅读 · 0 评论 -
添加图层,并设置属性值的代码
void CAddBasicResourceTool::OnMouseDownMap(short Button, short Shift, float X, float Y){ CMapXFeature ftr; CMapXStyle style; CMapXLayerInfo LayerInfo ; CMapXFields MapFields ; CMapXDataset ds ;原创 2007-09-18 11:59:00 · 1061 阅读 · 0 评论 -
目前大部分平台都适用的内存对齐规则的定义
目前大部分平台都适用的内存对齐规则的定义from www.acejoy.com ACE网络编程开发网这是对目前大部分平台都适用的内存对齐规则的定义#ifdef HP_UNIX #pragma pack 1#elif defined(AIX) #pragma options align=packed#elif defined(_WIN32)#pragma pack(push, 1)#转载 2007-11-20 11:28:00 · 449 阅读 · 0 评论 -
收集的一些VC常用函数,陆续加入
获取当前路径bool GetCurrentDir( char * fileName ){ char filename[512]; GetModuleFileName( NULL , filename , 512); (strrchr(filename,/))[1] = 0 ; filename[strlen(filename)-1] = 0; strcpy( fileName , fi原创 2007-11-30 12:18:00 · 593 阅读 · 0 评论 -
VC调用DELPHI编写的DLL
delphi DLL 代码:library InspectWSDll;uses SysUtils;{$R *.res}exportsValidate,retrieveDevicePage,retrieveDevicePage1,retrieveInspectionPersonPage,retrieveInspectionPersonPage1; 以下为实现文件:uni原创 2007-08-27 19:34:00 · 2081 阅读 · 3 评论 -
如何在在MapX中画线的代码(Visual C++)
CMapXPoints Pnts; //点集对象 CMapXFeatureFactory FeaFac; CMapXLayer Layer; CMapXFeature Feature; CMapXStyle Style; double centerX,centerY; //得到地图的中心 centerX=m_ctrlMapX.GetCenterX();转载 2007-08-23 19:30:00 · 1227 阅读 · 0 评论 -
MFC程序的消息处理顺序
MFC应用程序中处理消息的顺序1.AfxWndProc() 该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc2.AfxCallWndProc() 该函数负责保存消息(保存的内容主要是消息标识符和消息参数)供应用程序以后使用,然后调用WindowProc()函数3.WindowProc() 该函数负责发送消息到OnWndMsg()转载 2007-08-23 17:17:00 · 373 阅读 · 0 评论 -
VC++动态链接库编程之非MFC DLL
一个简单的DLL 第2节给出了以静态链接库方式提供add函数接口的方法,接下来我们来看看怎样用动态链接库实现一个同样功能的add函数。 如图6,在VC++中new一个Win32 Dynamic-Link Library工程dllTest(单击此处下载本工程)。注意不要选择MFC AppWizard(dll),因为用MFC AppWizard(dll)建立的将是第5、6节要讲述的MFC原创 2006-12-09 22:41:00 · 673 阅读 · 0 评论 -
VC++动态链接库编程之MFC扩展 DLL
MFC扩展DLL与MFC规则DLL的相同点在于在两种DLL的内部都可以使用MFC类库,其不同点在于MFC扩展DLL与应用程序的接口可以是MFC的。MFC扩展DLL的含义在于它是MFC的扩展,其主要功能是实现从现有MFC库类中派生出可重用的类。MFC扩展DLL使用MFC 动态链接库版本,因此只有用共享MFC 版本生成的MFC 可执行文件(应用程序或规则DLL)才能使用MFC扩展DLL。 从原创 2006-12-09 22:44:00 · 676 阅读 · 0 评论 -
TCP网络程序设计-完成端口之应用
一、运行程序开发环境mdac2.7,vc6 sp5,win2000如果你的mdac版本是旧请升级或者重新编译。服务器端的数据库access,用ado来操作的。客户端用csv格式的文件系统的。将SMSServer和SMSClient放在同一个机器上,因为编译时我将IP设置成了127.0.0.1,SMSServerDB与SMSServer放在同一个目录。源代码是按1字节对其编译,静态连接的,原创 2006-12-09 22:18:00 · 549 阅读 · 0 评论 -
VC++动态链接库编程之MFC规则DLL
这一节将详细地讲述MFC规则DLL的创建与使用技巧。 5. MFC规则DLL 5.1 概述 MFC规则DLL的概念体现在两方面: (1) 它是MFC的 “是MFC的”意味着可以在这种DLL的内部使用MFC; (2) 它是规则的 “是规则的”意味着它不同于MFC扩展DLL,在MFC规则DLL的内部虽然可以使用MFC,但是其与应用程序的接口不能是MFC。而MFC扩展DLL与原创 2006-12-09 22:48:00 · 718 阅读 · 0 评论 -
实现MFC扩展DLL中导出类和对话框
如果要编写模块化的软件,就要对对动态链接库(DLL)有一定的了解,本人这段时间在修改以前的软件时,决定把重复用的类和对话框做到DLL中,下面就从一个简单的例子讲起,如何实现MFC扩展DLL中导出类和对话框。 一、创建MFC扩展DLL原创 2006-12-09 22:50:00 · 719 阅读 · 0 评论 -
在存储过程中调用外部的动态连接库
问题的提出: 一般我们要根据数据库的纪录变化时,进行某种操作。我们习惯的操作方式是在程序中不停的查询表,判断是否有新纪录。这样耗费的资源就很高,如何提高这种效率,我想在表中创建触发器,在触发器中调用外部动态连接库通过消息或事件通知应用程序就可实现。而master的存储过程中最好能调用外部的动态连接库,我们在触发器中调用master的存储过程即可。 说明:VC6需要安装较新的Platfor原创 2006-12-09 22:53:00 · 568 阅读 · 0 评论 -
应用log4cxx在c++中记录日志
1. 介绍Log4cxx是开放源代码项目Apache Logging Service的子项目之一,是Java社区著名的log4j的c++移植版,用于为C++程序提供日志功能,以便开发者对目标程序进行调试和审计。有关log4cxx的更多信息可以从Apache Loggin Service的网站http://logging.apache.org获得。当前的稳定版本为0.9.7,本文内容原创 2007-01-18 12:17:00 · 2189 阅读 · 1 评论 -
C 文件的输入输出函数
文件的输入输出函数 键盘、显示器、打印机、磁盘驱动器等逻辑设备, 其输入输出都可以通过文 件管理的方法来完成。而在编程时使用最多的要算是磁盘文件, 因此本节主要以 磁盘文件为主, 详细介绍Turbo C2.0提供的文件操作函数, 当然这些对文件的操 作函数也适合于非磁盘文件的情况。 另外, Turbo C2.0提供了两类关于文件的函数。一类称做标准文件函数也称 缓冲型文件函数, 这是转载 2007-01-26 14:52:00 · 650 阅读 · 0 评论 -
走出MFC子类化的迷宫
许多Windows程序员都是跳过SDK直接进行RAD开发工具[或VC,我想VC应不属于RAD]的学习,有些人可能对子类化机制比较陌生。我们先看看什么是Windows的子类化。Windows给我们或是说给它自己定义了许多丰富的通用控件,如:Edit、ComboBox 、ListBox……等,这些控件功能丰富,能为我们开发工作带来极大方面,试想:我们单单是自己实现一个EDIT控件是多么的艰难!但是,在原创 2007-08-22 10:36:00 · 579 阅读 · 2 评论 -
sprintf中无固定个数参数的实现
void log(char *szFormat, ...){ va_list pArguments; char szBuffer[1024] = {0x00}; va_start(pArguments, szFormat); vsprintf(szBuffer, szFormat, pArguments); va_end(pArguments); //此时格式化后原创 2008-03-30 17:24:00 · 356 阅读 · 0 评论