CnPack Forum


« 2024-3-19  
SMTWTFS
 
     12
3456789
10111213141516
17181920212223
24252627282930
31      



Search Blog




Online Users: 4

0 members, 4 guests

2011-10-9   用Delphi开发WebService供C#调用的一点经验

最近在项目中用Delphi2010做了个独立运行的的WebService应用。

开发过程中遇到两个问题,网上能找到的资料比较少,后来花了点力气自己解决了,记录如下:

一、第一个问题是Delphi提供的WebService向导无法直接在独立的EXE中使用WebService。

解决的办法:
1、先用WebService向导创建一个新工程,其中有一个包含:

HTTPSoapDispatcher1: THTTPSoapDispatcher;
HTTPSoapPascalInvoker1: THTTPSoapPascalInvoker;
WSDLHTMLPublish1: TWSDLHTMLPublish;

这三个组件的 TWebModule 模块,手动将这个模块添加到现有的或新建的VCL应用程序中。

2、使用Indy提供的IdHTTPWebBrokerBridge作为WebService的HTTP服务器。
IdHTTPWebBrokerBridge从D7开始就不再随Delphi发布,我是从网上单独下载的,并针对D2010做了一些兼容性修改,改过的文件见附件。
PS:WebService接口方法被调用时,默认是在独立的线程中进行的。我在修改IdHTTPWebBrokerBridge时顺便加了一个同步到主线程中执行 ...

2011-10-9 16:54 - zjy - 14415 Views - 2 Comments

2010-4-27   CnCalendar最新改进,性能极大提升

修改了 CnCalendar、CnCalClass 和 CnMonthCalendar 三个单元,主要是局部代码优化,新版本性能大幅提升,原有接口不变。

主要改动有:
1、公历转农历函数 GetLunarFromDay 提升10倍以上。
2、根据日期查节气的函数 GetJieQiFromDay 提升20倍以上。
3、大幅改进 GetDayFromEquStandardDays 函数性能。
4、增加 GetLunarMonthFromNumber 函数用来返回中文农历月字符串,如“闰十一月”。
5、计算三伏、出入梅等函数有一定程度的优化。
6、优化 CnCalClass 中的各类的构造器,减少重复计算,增加 SetDateTime 方法。
7、TCnMonthCalendar 控件默认开启 DoubleBuffer,减少刷新闪烁。

优化后的代码可从 svn 上更新。

2010-4-27 12:37 - zjy - 4472 Views - 0 Comments

2010-4-12   终于改掉了Discuz!万恶的标题80字符限制!

不知道为啥 Discuz! 要限制标题 80 字符,而且一旦标题超长就报错。更有可能在返回上一页时,辛辛苦苦打了半天的内容都丢了,实在是太不爽了!

还有,CnPack 用的是 utf-8 版本的论坛,utf-8下面一个汉字占3个字节,算下来标题只能限制在26个汉字,完全不够用嘛

现在终于爽了,刚才把数据库中 cdb_post 表的 subject 字段改成 varchar(150),最多可输入50个汉字

另外,再把 post.func.php 中 checkpost 函数中对标题 80 字符的改成 150 个,如果超出的话,自动取前 147 字符再加上 ...

开源就是好啊!自已动手,丰衣足食呐!

2010-4-12 23:10 - zjy - 4477 Views - 0 Comments

2009-11-10   来自国外的 CnWizards 详细介绍

最近看到一个国外的 Blog 上正在对 CnWizards 做连载介绍。内容非常详细,每周五发布一篇,现在已经有4篇了:
http://delphiallimite.blogspot.com/

2009.12.30 作者更新了最后一篇,总共8篇,几乎涵盖了专家包所有的功能。
作者最后的总结:

CONCLUSIONS

I'm sure I've left in the inkwell some feature that's included in cnPack but as you have seen, this expert is huge and I do not have time for more, because I want to cover new topics. The only drawback I've found this expert is that on machines with 1 GB of RAM or less is quite slow, especially with projects that have hundreds of forms (also depends on the version of Delphi). Anyway, I consider almost essential to increase productivity programming. ...

2009-11-10 15:06 - zjy - 4243 Views - 3 Comments

2009-9-17   征集双核系统下D2007不稳定问题的反馈

在论坛上看到两个关于双核系统下IDE不稳定问题的帖子:
http://bbs.cnpack.org/viewthread.php?tid=3127

http://bbs.cnpack.org/viewthread.php?tid=3115

根据堆栈信息的线索:
[053932EB]{exceptiondiag100.bpl} ExceptionDiagForm.LoadedModules (Line 56, "ExceptionDiagForm.pas" + 18) + $6C
[20ACF536]{coreide100.bpl} StructureView.TBaseStructureViewServices.SyncStructureChanged (Line 299, "StructureView.pas" + 2) + $8
[2000A455]{rtl100.bpl  } System.@CheckAutoResult (Line 18047, "sys\system.pas" + 6) + $0
[20ACF536]{coreide100.bpl} StructureView.TBaseStructureViewServices.SyncStructureChanged (Line 299, "StructureView.pas" + 2) + $8
[2003EA79]{rtl100.bpl  } Classes.CheckSynchronize (Line 9835,  ...

2009-9-17 22:34 - zjy - 3916 Views - 10 Comments

2009-2-13   重大喜讯!CnPack 管理员刘啸先生近期大婚!

CnPack 管理员 刘啸 先生将于2009年2月14日情人节正式跨入已婚一族,婚宴日期待定。
在上海用过cnpack但没见过刘啸本人又想见的兄弟姐妹们,提前准备好红包,去找啸啸喝喜酒去吧

2009-2-13 14:47 - zjy - 15699 Views - 29 Comments

2008-11-13   Delphi 调用 WinPcap 发送原始以太网报文的简单 Demo

帮朋友做的一个用 Delphi 调用 WinPcap 发送原始以太网报文的简单 Demo。只支持枚举系统网卡信息和发送原始报文功能。

http://www.cnpack.org/showdetail.php?id=614&lang=zh-cn

2008-11-13 10:43 - zjy - 4439 Views - 0 Comments

2008-11-11   文件夹智能同步工具 v1.0

前段时间中了一次病毒,硬盘上所有exe和html都被感染,郁闷。虽然很多文件移动硬盘上有备份,但备份时间比较早了,两边同步很费劲。
因为硬盘上资料多,要备份的数据有几十G,很多目录都频率地增加、删除、移动文件,每次重新复制所有文件效率太低。
以前主要用 TotalCmd 做目录同步,感觉还是太麻烦,所以这次写了个小工具专门用于全目录同步。

程序和源码下载:
http://www.cnpack.org/showdetail.php?id=613&lang=zh-cn

2008-11-11 10:26 - zjy - 5326 Views - 5 Comments

2008-8-2   转帖:或许我们已经输了—— 遭遇美国的教育

http://blog.chinathink.net/user1/hidi/11953.html

或许我们已经输了—— 遭遇美国的教育

2008-5-12 21:33:00


高钢


题记:10 岁的孩子被送进了美国学校,上英文课,老师布置的作业是写论文,题目居然大得冲天:《我怎么看人类文化》;上历史课,老师让孩子扮演总统顾问,给国家决策当高参;在中学的物理课上,作业竟然是一个市政研究项目——城市照明系统的布局;而道德教育,居然是从让孩子们爱护小动物开始。


没有统一的教科书,没有统一的考试,没有对学生的三六九等的分类排位。这就是呈现在一个中国记者眼前的美国教育。


面对与中国教育截然不同的“西洋景”,种种的疑虑、困惑接踵而至,美国教育究竟要培养什么样的人才?“没有残疾的孩子,只有残疾的教育。”这究竟是教育学者的危言耸听,还是对人与教育之间客观规律的深刻认识?


我们中国人是否认真反省过我们的教育?我们中国的教育有缺陷吗?如果有,在哪里?我们这样 ...

2008-8-2 22:59 - zjy - 4775 Views - 6 Comments

2007-4-23   今天改进了一下Want构建功能

本地编译cnwizards时,打开ide来编译总嫌麻烦,所以经常用want编译。不过每次want完总会有几个临时文件没删除,还把res文件给修改了,经常要从cvs里重新取,很不爽。

晚上终于下决心来改掉这些问题。修改后的want脚本编译完工程后会自动把临时生成的文件删除,再把res文件恢复成编译前的状态。另外,还增加了一个好友beta开发的WantUI,可以不用再开命令行窗口去打命令,感觉爽多了!

want还是个不错的构建工具,可惜好几年没人维护了。现在这个脚本可读性不强,如果能支持流程控制、过程调用就好了。

2007-4-23 21:25 - zjy - 3856 Views - 12 Comments

2007-3-30   祝贺CnWizards荣膺2006第二届中国开源竞赛专业组金奖(附图)!

CnPack 多年的努力终于有了认可。CnPack IDE 专家包去年下半年报名参加 2006 第二届中国开源竞赛,顺利通过多轮角逐,最终获得专业组金奖!

2007年3月27日下午,管理员 Passion 在北京接受了 倪光南 院士的颁奖。

2006第二届中国开源竞赛网站
http://osscontest.cosoft.org.cn/

2007-3-30 09:11 - zjy - 93785 Views - 62 Comments

2007-3-1   推荐一本书《相约星期二》

这是本比较老的畅销书,可能不少朋友看过或听过。几年前看过一遍,当时感触很深。

不觉间几年过去了,对于生活又多了几分感悟和思考,于是重新翻出来看看,希望能再次从中体悟些什么。

----《相约星期二》中文版序

余秋雨


    我们人类的很多行为方式是不可思议的,有时偶然想起,总会暗暗吃惊。
    譬如,其中一件怪事,就是人人都在苦恼人生,但谁也不愿意多谈人生。稍稍多谈几句的,一是高中毕业生,动笔会写“生活的风帆啊”之类的句子;二是街头老大娘,开口会发“人这一辈子啊”之类的感叹。兼有人生阅历和思考水平的人,一般就不谈人生了,这是为什么呢?
    因为这个问题太浅?显然不是。
    因为这个问题太深?有这个因素,但人们历来都有探求艰深的好奇,就连大得无法想象的宏观世界和小得无法想象的微观世界都成了热闹的研究对象,怎么对人生问题的探求却寥落至此?
    我觉得,大多数智者躲避这个问题,是因为领悟到自己缺少谈论的资格。再大的专家也不能说自己是人生领域的专家,一时的感悟 ...

2007-3-1 21:48 - zjy - 3741 Views - 1 Comments

2007-2-9   CVSTracNT 2.0.1.beta1 发布,欢迎大家下载测试!

下载地址:
http://upgrade.cnpack.org/cvstracnt/CVSTracNT_2.0.1.beta1_20070209.exe

2007.02.09 V2.0.1.beta1 Build 20070209
  * 升级到官方 2.0.1 版本 (见 http://www.cvstrac.org)。
  * 增加数据库自动升级功能。
  * 通知插件支持扩展字段内容。

明天回家,春节前没空仔细测试了,春节后发布正式版。

2007-2-9 16:02 - zjy - 7094 Views - 3 Comments

2007-2-7   CVSTracNT 2.0.1 升级手记(二)

2007.02.07 Zhou JingYu

昨天在升级 cnpack.db 数据库时遇到附件表 blob 字段不能导入的问题,今天想到个变通的法子。

首先用 sqlite cnpack.db .dump > cnpack.sql 将数据库导出为 sql 文件,
再执行 echo .read %1.sql | sqlite3 %1.db 让 sqlite3 直接从 sql 中创建数据库。

实践证明,该方法终于可以把 blob 字段转成 3.x 格式了。然而好景不长,转换了 blob 字段的新数据库在 CVSTracNT 下无法工作,浏览页面无法打开,并且数据库目录下出了个 cvstrac_chs.exe.stackdump 文件。

在网上找了找资料,查到 cygwin 下编译的 exe 程序可以用 nm 查看其内部函数地址。果然,堆栈调用显示,AV异常出在 blob 转换函数中。

sqlite3 已经内置对 blob 二进制数据的支持,而 sqlite2 下 blob 是用 string 来保存的。cvstrac 1.x 为了保存附件,使用了简单的算法把二进制数据转为字符串保存。

cvstrac 2.0 在第一次打开 1.x 的数据库时,自动对数据库表进行升级,附件表中的 blob 自动 deco ...

2007-2-7 22:48 - zjy - 4906 Views - 1 Comments

2007-2-7   CVSTracNT 2.0.1 升级手记(一)

2007.02.06 Zhou JingYu

CVSTracNT 1.2.1 发布到现在已经有整整一年了,期间 cvatrac 官方网站发布过使用 sqlite 3.x 的 2.0 版本,但是很长一段时间看到官方网站本身还用的 1.2.1 的版本,估计是 2.0 还不稳定作者自己也不想随便升级。1.2.0 刚出时我急着升级导致 redsage 服务器运行不稳定,让 robbin 折腾了大半天最终把 cvstrac 给喀嚓掉N长时间一直到 1.2.1 发布才恢复的痛苦经历俺还记忆犹新,既然 2.0 作者自己还没正式用,就再等等吧。

一晃到了 2007 年,某天收到老外一封邮件,问俺们啥时候放出 CVSTracNT 2.0 的版本,到官网上一打听,2.0.1 已经发布了,官网自己也终于升级到了新版本。看来时机已成熟,CVSTracNT 也跟进吧。

官方网站上 2.0.x 的更新记录

The following are in 2.0.1:
1. reports now allow for dynamic sorting on most fields (#599)
2. improvements to search output (#611)

The following are in 2.0.0:
1. Now using SQLite 3 API. See #441 ...

2007-2-7 22:22 - zjy - 5393 Views - 2 Comments

2007-1-17   论坛升级为Discuz! 5.0,新功能多多!

很高兴看到 Discuz! 5.0 能免费提供给非商业普通用户使用,这次升级直接从 2.5F 跳到 5.0,感觉新版本爽多了。

经过两天的修改,现在基本上升级完成。新论坛支持简、繁、英三种界面,使用utf-8编码,多语言切换通过论坛的界面风格功能来实现。我修改了少量的论坛代码,实现在英文界面中不显示中文论坛和奇虎搜索的功能。

新增加的功能主要有:个人文集、所见即所得编辑器、Archiver文字版、WAP等。

同时,为了鼓励大家发帖,对积分前五的同学授予论坛勋章,希望大家多多支持!

2007-1-17 22:45 - zjy - 7389 Views - 6 Comments

2007-1-17   Google代码搜索支持Delphi喽!

记得Google代码搜索最早出来时支持相当多的编程语言,就是不支持Pascal/Delphi,极郁闷。
今天上去看了看,现在总算是支持Delphi了,而且也有中文界面了。
http://www.google.com/codesearch?hl=zh-CN

最新的CnWizards unstable版在浮动按钮菜单“Web 搜索”中也有一项“Google代码搜索”菜单可以直接调用搜索链接,大家在看代码时遇到不熟悉的api就直接google吧。

CnPack和CnWizards的代码在Google代码搜索中也能找到,因为它们放在sourceforge服务器上被索引到了。

2007-1-17 21:22 - zjy - 4219 Views - 4 Comments

2006-9-8   组件前缀专家改进手记

这两天为组件前缀专家增加根据 Action 名称和 DataField 字段名来命名新组件的功能,使用了N种方案后总算大功告成,于此记载下来以作纪念。

需求来源:
1、以往做界面时经常是先用 ActionList 定义一堆 Action,再关联到 MenuItem 和 ToolButton 上。这些 MenuItem 和 Button 如果不取个名字总感觉看起来不舒服,如果一个一个去改名又太痛苦。
2、前段时间有个用户建议我们使用字段名来命名数据感知控件。当时简单考虑了一下,觉得有点复杂就搁下了,这次顺便一起搞定。

分析问题:
首先来解决 Action 的需求。初步的设计是在修改控件关联的 Action 时,如果该控件未命名(即前缀不正确或前缀加数字这种形式),则自动将用控件前缀加 Action 去前缀名称作为控件名。

第一个问题是怎样控件的 Action 变更时得到通知。OTA 是没有现成的接口的,使用属性编辑器来处理则可能会遇到跟第三方工具冲突的问题,如果要用定时查询的办法就太笨了,看来这次又要动用俺的终极武器“方法挂接”。

支持 A ...

2006-9-8 18:07 - zjy - 8148 Views - 2 Comments

2006-1-12   CVSTracNT 1.2.1 发布

这个新版本应该是比较稳定的,因为官方网站上已经升级到该版本了。

官方的更新
==========

http://www.cvstrac.org/cvstrac/wiki?p=RecentChanges

The following are part of CVSTrac 1.2.1:
* long directory view (#469 ) which shows most recent repository activity.
* a new option() function allows dropdown menus in reports (#520 )
* improvements to HTTP cache control should help reduce CVSTrac bandwidth usage (#534 )
* added some infrastructure to better support stylesheets and other interface objects (#497 )
* timeline now persists settings in cookies (#464 )
* wiki and ticket previews now include an edit area, streamlining content editing (#470 )
* milestones can now be cross-referenced to tickets and have larger text areas (#463 )
* RSS 2.0 output (#492 )

NT 版的更新
========== ...

2006-1-12 16:30 - zjy - 21370 Views - 5 Comments

2005-9-1   CnWizards 常见问题解答

感谢大家几年来对 CnPack 的关注和支持!我们经常在论坛和邮件中看到热心的朋友们给我们的建议,同时也发现很多问题都是重复的。今天我整理了一下,把大家比较关心的一些问题列在这个帖子里,并不定期补充。

1.代码格式化工具的问题。
目前网上比较好的开源代码整理工具主要有 DelForEx 和 Jedi Code Formatter。前者历史悠久,使用也很广泛。后者则是基于语法分析的整理工具,由 Jedi 组开发。由于 DelForEx 本身存在不少缺陷,而 JCF 使用 MPL 协议不太方便整合,所以 CnPack 也有自己的 CnCodeFormatter 开发计划。该工具由 古月春秋 捉刀,目前已经有可运行的雏形了。但是由于代码整理涉及到一些比较复杂的算法和技术,特别是对条件编译的处理比较麻烦,加之负责该项目的成员精力有限,所以迟迟未对外发布,请大家耐心期待。

2.代码折叠功能。
Delphi2005 发布后,很多朋友提到了这个要求。代码折叠编辑技术本身并不复杂,但是由于代码编辑器作为 IDE 最重要的一个组成部 ...

2005-9-1 16:45 - zjy - 87404 Views - 25 Comments




All times are GMT++8, the time now is 2024-3-19 18:45

    本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.0.0  © 2001-2006 Comsenz Inc.
Processed in 0.011936 second(s), 9 queries , Gzip enabled

Clear Cookies - Contact Us - CnPack Website - Archiver - WAP