摘要: 1.概论 先来阐述一下DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类。在仓库的发展史上经历了“无库-静态链接库-动态链接库”的时代。静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib中的指令都被直接包含在最终生成的EXE文件中了。但是若使用DLL,该DLL不必被包含在最终EXE文件中,EXE文件执行时可以“动态”地引用和卸载这个与EXE独立的DLL文件。静态链接库和动态链接库的另外一个区别在于静态链接库中不能再包含其他的动态链接库或者静态库,而在动态链接库中还可 阅读全文
posted @ 2011-05-08 10:10 Yaoquan.Luo 阅读(466) 评论(0) 推荐(0)
摘要: 目前 硬件配置在提高,软件开发环境也在不停的升级,vs2008 beta2 Enterprise Edition已经发布,使用的结果感觉非常满意,比vs2005进步不少,首先在IDE环境的启动速度上比05要快,MFC的空间数量上也增加了几个,最重要的是vs2008应该是windows vista内核开发的主要工具,微软的东西向下兼容肯定是没有问题了,如果能够熟练使用vs2005那么vs2008应该一点问题都没有的,下面说下vs2005、vs2008程序发布的方法: alt+F7->配置属性->C/C++->Code Generation->Runtime Library 阅读全文
posted @ 2011-05-07 00:32 Yaoquan.Luo 阅读(2083) 评论(0) 推荐(0)
摘要: 动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的。 一、创建动态控件: 为了对照,我们先来看一下静态控件的创建。 放置静态控件时必须先建立一个容器,一般是对话框,这时我们在对话框编辑窗口中,从工具窗口中拖出所需控件放在对话框中即可,再适当修改控件ID,设置控件属性,一个静态控件就创建好了,当对话框被显示时,其上的控件也会显示。 静态控件不需要调用Create()函数来创建。 而创建动态控件有很大不同,以下以按钮为例,看一下动态控件的创建过程: 1.建立控件ID号: ID号是控件的标识,创建控件前必须先为它设置一个ID号。 打开资源中的“String Tab 阅读全文
posted @ 2011-05-07 00:06 Yaoquan.Luo 阅读(290) 评论(0) 推荐(0)
摘要: 做一个MFC程序的时候碰到一个需求。就是需要根据定制情况,动态生成菜单,菜单的具体结构和信息是之前不知道的(因此不能利用工具构造),点击不同类型的菜单会触发特定的一类事件(需要动态绑定事件)。这种需求实际是蛮不BT的,很多场合下都可能会有,用C#写了个Demo花了不到半个小时。但转到MFC下来写,就费尽周折。其实这个问题代表了在MFC中动态创建资源绑定事件的一般性问题,所以总结一下。动态创建菜单需要先了解CMenu类。通常我们利用工具绘制一个菜单,每一个菜单项下都可以视为有一个CMenu类。它们联系在一起,形成树状。典型的一个菜单对应过来是如下图这个样子:如上,CMenu可以分成三种,一个是P 阅读全文
posted @ 2011-05-07 00:02 Yaoquan.Luo 阅读(399) 评论(0) 推荐(0)
摘要: vc 创建Dll DLL(Dynamic Linkable Library)可以看成一些可以直接拿来用的变量、函数或类的集合。在库的发展史上经历了“无库-静态链接库-动态链接库”的时代。 静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib中的指令都被直接包含在最终生成的EXE文件中了。但是若使用DLL,该DLL不必被包含在最终EXE文件中,EXE文件执行时可以“动态”地引用和卸载这个与EXE独立的DLL文件。静态链接库和动态链接库的另外一个区别在于静态链接库中不能再包含其他的动态链接库或者静态库,而在动态链接库中还可以再包含其他的动态或静态链接库。 对动态链 阅读全文
posted @ 2011-05-06 23:57 Yaoquan.Luo 阅读(329) 评论(0) 推荐(0)
摘要: 电子商务系统对安全问题有较高的要求,传统的访问控制方法DAC(Discretionary Access Control,自主访问控制模型)、MAC(Mandatory Access Control,强制访问控制模型)难以满足复杂的企业环境需求。因此,NIST(National Institute of Standards and Technology,美国国家标准化和技术委员会)于90年代初提出了基于角色的访问控制方法,实现了用户与访问权限的逻辑分离,更符合企业的用户、组织、数据和应用特征。ASP.NET是微软为了抗衡JSP而推出的新一代ASP(Active Server Pages)脚本语言 阅读全文
posted @ 2011-05-05 14:28 Yaoquan.Luo 阅读(626) 评论(0) 推荐(0)
摘要: 1、功能權限。比較容易實現。如果以角色為權限控制核心的話,則應該建立一張以角色--功能(頁面、窗體)為基礎的權限關係表。2、數據權限。無論從區域還是公司內部結構之關係,都可統一為一棵權限樹,而利用好這棵樹的關鍵是明確其最終葉子在哪裡:例如:(1)如果一張訂單屬於一個公司(門市),則門市為葉子(注意些情況不能歸到下單的人,因為廣州的門市賬號應該可以為北京的門市下單,因為客戶打電話到哪個門市下單為未知,總不能拒絕客戶下單請求,讓客戶多次打電話下單)(2)如果一張單要具體到某個下單人,如主管查看員工下單業績,則要具體到某個下單帳號了。這時下單人則應該為葉子。如果以角色為權限控制核心的話,則應該建立一 阅读全文
posted @ 2011-05-05 11:51 Yaoquan.Luo 阅读(424) 评论(0) 推荐(0)
摘要: 从XP直接升级到Windows 7后,是否对新的开始菜单感觉不习惯,或者说你就喜欢最原始的Windows开始菜单式样?XP里还能选择使用“经典样式”,可如今Windows 7干脆就没有这个选项了,怎么办呢?如果你到网上搜索过相关内容的话,还是可以找到解决方案的,不过大多数都要手动修改一些系统文件和注册表,在修改过程中还会连带遇到权限等问题,总之不是那么方便。最近小编偶然发现了一款小工具,可以很方便的把开始菜单改成Windows 98时代的样式,甚至不需要重启系统,这款工具叫做“Classic Shell”,出自国外著名的开源社区Sourceforge在安装过程中,软件会告诉你将对“开始菜单”和 阅读全文
posted @ 2011-05-05 09:46 Yaoquan.Luo 阅读(1169) 评论(0) 推荐(0)
摘要: 今天看到有一段程序里在struct里面用了个Union,然后就突然想到了struct和Union的区别,找了些资料后发现,struct和Union在内存分配的时候有区别,Union里的数据是公用一块内存……,所以给其分配的内存总是Union里面所定义的最大类型长度的整数倍。 而struct里的数据跟Union不一样,它们不共享一块内存,他是按照struct里面定义的数据顺序来进行分配内存的,但是分配的基本单位是struct里面所定义的最长的数据类型的长度。举个形象的例子:struct里面定义的数据类型的顺序为:int a;char b;double c;那个系统分配给这个struct的内存空间 阅读全文
posted @ 2011-05-04 23:08 Yaoquan.Luo 阅读(634) 评论(0) 推荐(0)
摘要: 作者:webabcd介绍作者:webabcd介绍声明性资源表达式可使您的应用程序使用多种语言,而不必手动编写代码来检索资源并在页中进行替换。您只需使用 ASP.NET 2.0 中新提供的表达式语法即可对资源替换进行定义。ASP.NET 2.0 支持标准的 resx 文件格式自动进行运行时资源检索。关键1、Culture - 决定各种数据类型是如何组织,如数字与日期;UICulture - 决定了采用哪一种本地化资源,也就是使用哪种语言。在页的@Page指令中或者配置文件的<system.web><globalization>元素中设置(另外该元素内还可以设置属性requ 阅读全文
posted @ 2011-05-03 14:54 Yaoquan.Luo 阅读(311) 评论(0) 推荐(0)
摘要: 没有人回答我自己说啦 刚才在MSDN里找到啦答案 1.打开要创建资源文件的页。2.切换到“设计”视图。//问题就在这个里3.在“工具”菜单中,单击“生成局部资源”。 阅读全文
posted @ 2011-05-03 14:29 Yaoquan.Luo 阅读(366) 评论(0) 推荐(0)
摘要: 1.跟以前一样做界面,只是注意,把所有需要有多语言界面的文字都用label来做2.做完以后,在Solution Explorer里选中这个文件,选Tools->Generate Local Resource3.你会发现生成了一个目录,App_LocalResources;这个目录里多了一个resx的文件。比如你的aspx文件是default.aspx,它就会生成一个叫做default.aspx.resx的文件。4.打开这个文件看看,原来在label中的那些文字都跑到这里来了5.打开原来的aspx文件看看source,会发现源码变了:<%@ Page Language="V 阅读全文
posted @ 2011-05-03 14:19 Yaoquan.Luo 阅读(168) 评论(0) 推荐(0)
摘要: 如果您创建的网页将由使用不同语言的用户阅读,则必须为这些读者提供用他们自己的语言查看网页的方法。一种方法是分别用各语言重新创建页面,但这种方法可能需要大量工作量、容易出错并且在更改原始页时很难维护。ASP.NET 为您提供了一种方法,使用这种方法创建的页可以根据浏览器的首选语言设置或用户显式选择的语言获取内容和其他数据。内容和其他数据指的就是资源,此类数据可以存储在资源文件或其他源中。在 ASP.NET 网页中,可以将控件配置为从资源获取其属性值。在运行时,资源表达式将被相应资源文件中的资源替换。一、ASP。NET的资源文件 资源文件是 XML 文件,其中包含要转换为不同语言或图像路径的字符. 阅读全文
posted @ 2011-05-03 14:18 Yaoquan.Luo 阅读(372) 评论(0) 推荐(0)
摘要: I wrote yesterday about using the C# 4 dynamic keyword and the .NET 4 DynamicObject class to implement a dynamic repository, which would allow users to invent their own query methods according to a naming convention and have them work automagically. However, the code I showed only did equality queri 阅读全文
posted @ 2011-05-03 11:49 Yaoquan.Luo 阅读(251) 评论(0) 推荐(1)
摘要: Dynamic repositories in LightSpeedWhen you’re building a repository, you’ll often find yourself writing a lot of facade methods to support different kinds of query: FindPersonByName, FindPenguinBySpecies, FindDromedaryByHumpSize and so on. This isolates your application code from the specifics of th 阅读全文
posted @ 2011-05-03 11:38 Yaoquan.Luo 阅读(338) 评论(0) 推荐(1)