小李子

小小的蜗牛,慢慢的爬。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
上一页 1 2 3 4 5 6 7 8 9 10 ··· 14 下一页

2012年3月27日

摘要: 昨天突然有一个做技术的朋友问我如何做插件。虽然我已经太久不做技术,但为了维持我在朋友面前样样精通的光辉形象,我还是忍不住好奇地查了点资料。感觉有一个写的还可以,转过来,供后来者研究。--看看读了 goldboar的平台+插件软件设计思想及基于COM的原型实现,再加上自己的软件的需求,感觉很有必要将自己的软件设计成插件更新的方式。平台+插件软件设计基本思想 插件的本质在于不修改程序主体(平台)的情况下对软件功能进行扩展与加强,当插件的接口公开后,任何公司或个人都可以制作自己的插件来解决一些操作上的不便或增加新的功能,也就是实现真正意义上的“即插即用”软件开发。平台+插件软件结构是将一个待开发的目 阅读全文

posted @ 2012-03-27 15:59 ljl_falcon 阅读(876) 评论(0) 推荐(0)

2012年3月23日

摘要: 大部分数据库在进行字符串比较的时候,对大小写是不敏感的。但是,在SQLite中,对大小写是敏感的。假设表Test的结构和值如下:_idname1ABCDE2abcde3ABCde4abCDE5aaaaa6bbbbb执行下面的SQL语句:select * from test where name = ... 阅读全文

posted @ 2012-03-23 10:54 ljl_falcon 阅读(1974) 评论(0) 推荐(0)

2012年3月21日

摘要: 我收集各式各样的至理名言。最近我一直在研究敏捷软件开发;有收获吗?下面就是能够指导敏捷软件开发团队的26条核心原则。用例一完全能够运行后再开发用例二。厨房里有一种说法正好可以印证这个问题:“做好一盘菜后你再做下一盘”. 对于软件开发来说一个最大的问题就是人们喜欢并行开发多个任务。因为不可避免的,我们设计的功能中总会有一部分会被放弃砍掉,如果提前开发,很可能做无用功。 一次只开发一个用例(或很少几个用例,这根据你的开发团队的大小而定); 让这个用例功能完整; 让相应的测试用例都能通过; 相应的文稳都补齐; 只有在当前的用例完全开发完成后,才做为一个整体提交到版本库,才进行下一个用例。避免提交一个 阅读全文

posted @ 2012-03-21 10:59 ljl_falcon 阅读(144) 评论(0) 推荐(0)

摘要: 现代人都很忙,但忙的可能没有效率,可能在"忙人"摸象,也就是瞎忙。也许你的效率可以提升20倍,也许你的激情和潜能可以提升10倍!秘诀就在于目标管理、时间管理、精力管理、如何在短时间内完成更多的事情、如何从痛苦的修行中悟道、如何尊崇内心的自由、如何有更多的时间去享受生活、如何动态平衡工作和生活?!这里有能大大提升工作效率和时间效率的几个重要的工作习惯: 1. 每天一上班就进入状态,不要浏览网页,快速聚焦最重要的工作项上面 一些好习惯的养成,常常有助于工作效率的提高。比如,每天一进入办公室就进入状态,浏览一下邮件,列出今天要完成的工作,首先集中于做最最重要的事情。不要一上班就浏 阅读全文

posted @ 2012-03-21 10:59 ljl_falcon 阅读(190) 评论(0) 推荐(0)

2012年3月20日

摘要: 6-30更新内容: 由于编写代码的时候没有考虑到更新文件存放的真实位置,所以可能导致软件目录下其他文件夹文件不能更新,代码稍作修改: 更新配置文件中用相对路径表示文件更新后的保存位置,如: <file name="doc\1.rar" src="http://localhost/1.rar" version="3" size="1394007" isrestart="false" /> 程序中需要判断是否存在软件目录下的doc目录,并且在临时更新文件夹update中创建临时更新二级目 阅读全文

posted @ 2012-03-20 17:31 ljl_falcon 阅读(373) 评论(0) 推荐(0)

摘要: 上一篇博文实现了我的程序的自动升级,这篇来介绍我的程序的扩展部分--插件结构园子里有很多关于插件架构的文章,有大的整个框架也有小的功能代码,每每阅读都有不少收获!现在就来实现我的插件架构,部分内容参考学习自其它地方,在此表示感谢。我要实现的是给Winform程序添加扩展接口,详细的就不多说了,直接按照我自己的理解来贴代码。一,宿主程序提供公开接口供插件程序调用: 插件要如何与宿主程序通讯或使用宿主程序资源呢??? 首先插件程序不可能添加对宿主程序的引用,所以首先实现一个IApplication接口,宿主程序继承自IApplication接口 IApplication接口描述宿主程序要提供给.. 阅读全文

posted @ 2012-03-20 17:29 ljl_falcon 阅读(282) 评论(0) 推荐(0)

摘要: 创建:5/16/2005最后更新:5/16/2005编写:谈少民 SteveTanEmail:tansm@21cn.com摘要:本文从另外一种角度来设计权限解决方案,详细解释了如何使用范围、授权和证书的概念来处理复杂的权限问题。目录:说在前面的在讲这个所谓的“终极”解决方案之前,我想先说明几点:1、首先所谓的“终极”是我认为的“终极”。我对当今世界的权限处理的“国际水平”并不了解太多,只知道一些典型的“Who,How,What"模型,什么角色。如果你现在就异常失望了,那真是对不起,浪费了您宝贵的时间,请现在关闭窗口;2、看这篇文章,我假定你已经有一些权限设计的实际开发经验和知识。权限 阅读全文

posted @ 2012-03-20 16:40 ljl_falcon 阅读(306) 评论(0) 推荐(0)

摘要: 1. 窗口过程 每个窗口会有一个称为窗口过程的回调函数(WndProc),它带有四个参数,分别为:窗口句柄(Window Handle),消息ID(Message ID),和两个消息参数(wParam, lParam), 当窗口收到消息时系统就会调用此窗口过程来处理消息。(所以叫回调函数)2 消息类型1) 系统定义消息(System-Defined Messages)在SDK中事先定义好的消息,非用户定义的,其范围在[0x0000, 0x03ff]之间, 可以分为以下三类:1> 窗口消息(Windows Message)与窗口的内部运作有关,如创建窗口,绘制窗口,销毁窗口等。可以是一般的 阅读全文

posted @ 2012-03-20 09:36 ljl_falcon 阅读(271) 评论(0) 推荐(0)

摘要: 说到VCL中的消息处理就不能不提到TApplication,Windows会为每一个当前运行的程序建立一个消息队列,用来完成用户与程序的交互,正是通过Application完成了对Windows消息的集中处理! 首先通过Application.Run进入消息循环进行消息的处理,其中调用了HandleMessage。procedure TApplication.HandleMessage; var Msg: TMsg; begin //这里先调用ProcessMessage处理,返回值为False调用Idle,就是在空闲时,即消息队列中无消息等待处理时调用Idle if not Pro... 阅读全文

posted @ 2012-03-20 09:35 ljl_falcon 阅读(219) 评论(0) 推荐(0)

摘要: 位大虾, 这个问题在VCL中是怎样处理的呀? 例如:Tedit中有一个事件是onkeypress,应用如下: procedure tform1.edit1keypress(sender:tobject;var key:char); begin end; 那么这个事件是怎么样和WIN32中的WM-CHAR联系上的呢? VCL是怎么做的?TWinControl procedure WMChar(var Message: TWMChar); message WM_CHAR; ... procedure TWinControl.WMChar(var Message:... 阅读全文

posted @ 2012-03-20 09:34 ljl_falcon 阅读(200) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 8 9 10 ··· 14 下一页