暂无个人介绍
经过研究代码,觉得有几个函数必须要清楚原理。才能理解代码,清楚流程。 异步模式:类似form.show(); 阻塞模式:类似form.showModal(); WSAAccept; 当客户端有连接请求的时候,WSAAccept函数会新创建一个套接字cSocket。
之前一直接从事企业管理的软件,接触网络比较少。网络方面的知识也很惨。 最近想弄下iocp。网上找了很多资料,大部分是关于c++的。delphi的比较少。 看了下,不适合刚接触网络的菜鸟学习! 看过fxh的blog,觉得写的容易理解。
日志的输出有助于程序的调试和问题的查找。在Java里面有log4J, 虽然Delphi里面有也有log4D,和showMessage,始终觉得不是蛮方便。 这几天在写socket程序,顺手就写了一个日志记录和查看的工具Form1为测试程序,日志显示器为查看程序 分成两部分 1,日志查看(logViewer.exe),是一个socket的服务,用来接收日志,和显示日志。
新建一个工程,放一个cxComboBox,添加了一些下拉数据,发现输入时有乱码的现象。 同样在Delphi7 下创建的工程,没有问题。 后来把Delphi2007的工程在Delphi7下面编译,有同样的乱码情况和2007一致。
1 EXEC sp_configure 'show advanced options', 1 2 3 4 5 GO 6 7 8 9 RECONFIGURE WITH OVERRIDE 10 11 12 13 GO 14 15 ...
if object_id('tempdb..#tempTable') is not nullBegin drop table #tempTableEnd
查看ehgrid源码 procedure TCustomDBGridEh.DefaultDrawColumnCell(const Rect: TRect; DataCol: Integer; Column: TColumnEh; State: TGridDrawState); .
tomcat配置虚拟路径的4种方法在tomcat中,webapp文件夹默认为web应用的根目录。1.在tomcat\conf\server.xml中找到 host标签,在host标签中增加新的元素并设置 Context的元素,其中path元素所设置的值就是在浏览器中所要访问的虚拟路径的名称;docBase元素所对应的值就是web应用所在的具体目录,这里既可以的相对webapp的相对路径,也可是文件的绝对路径。
1 TFMDesign = class(TFMBase, IDataSetOperator) 2 public 3 //注意名称要不一样,重新定义保存方法 4 procedure IDataSetOperator.
在设计器中View->Options中调整Grid的大小默认为0.1mm,调成0.01后可以进行微调
先来段代码 type MyString = AnsiString; PMyChar = PAnsiChar;procedure TForm2.Button2Click(Sender: TObject);var p: PMyChar; s, s2: MyString;begin self.
var ws: WideString; s: AnsiString; pw: PWideChar; p: PAnsiChar;begin ws := 'ab中cd'; pw := PWideChar(ws); s := ws; //p:=PAnsiChar(s); 正确 //p:=...
function TStrIntfHashMap.Remove(const Key: string): IInterface;var Bucket: PStrIntfBucket; I: Integer;{$IFDEF THREADSAFE} CS: IInterface;{$EN...
//转自http://www.cnblogs.com/MurphyAefe/articles/1741825.html { 说明:该事例实现的效果,在单个应用或代码量小的项目中,可以完全不用接口委托来完成。
ALTER DATABASE CXFX_DATASET ALLOW_SNAPSHOT_ISOLATION ON ALTER DATABASE CXFX_DATASET READ_COMMITTED_SNAPSHOT ON //原来帮助里面写了,执行该语句时不能有其他东西连接数据库,难怪前几次执行...
自己写的 declare @count intDECLARE @SQLString nvarchar(500) ,@TableName varchar(100)SELECT top 1 @TableName = name from sysobjects where x...
procedure CopyGridRecordToJsn(pvDataSet: TcxGridDBTableView; pvValueJsn: ISuperObject);var i, j: Integer; lvField: TcxGridDBColumn; lvItem: I...
1 --A段 2 ---------------------- 3 select so_d.*, 4 c_bf.FApproveState 5 from sal_OrderList so_d 6 left join bas_Bom bom_m 7 on (so_d.
虽然不能完全避免死锁,但可以使死锁的数量减至最少。将死锁减至最少可以增加事务的吞吐量并减少系统开销,因为只有很少的事务: 回滚,而回滚会取消事务执行的所有工作。 由于死锁时回滚而由应用程序重新提交。
(类似于2003及之前版本中的背面逆序) 安装好word之后最需要设置的有:改写模式、打印选项、输入法控制处于活动状态。 在用word2003时,为了使手动双面打印的最终结果是正序的,而且打印背面时不用整理纸张次序,设置方法非常简单,只要打开对话框左下角的“选项…”。
var lvItem:ISuperObject; begin lvItem:=SO('""'); //"" lvItem.S['count'] := 0; //这里创建了一个superobject对象。
uses TypInfo; procedure TfrmMain.actFormatExecute(Sender: TObject); var lvDataType :TTypeKind; begin lvDataType := tkUnknown; ...
这几天查内存泄漏,发现编辑窗体弹出后,出现了内存泄漏。 原来以为是编辑窗体的问题。经过排查发现是编辑窗体关闭后reOpen的时候 因为需要记录原有数据集的位置所以用到了BookMark 现在用了FastMM 发现之前的写法有问题 var lvBookMark:Pointer begin lvBookMark:=cdsMain.
//接上次讨论 //测试代码如下 procedure TForm1.btnRaiseTestClick(Sender: TObject); var lvIntf2: ITest; lvVIList: TVIList; begin lvVIList := TVIList.
为什么用接口老是会AV错误?可能很多人会碰到这样的问题。 有些人干脆抛弃用接口来管理对象的生命周期。 我想如果搞清楚接口何时会增加和减少计数应该会掌控到接口何时会销毁对象从而解决av根本。 做了一个测试 procedure TForm1.
EhLibADO, initialization RegisterDatasetFeaturesEh(TADOSQLDatasetFeaturesEh, TADOQuery); RegisterDatasetFeaturesEh(TADOCommandTextDatase...
这几天在移植代码,将之前的项目移植到插件框架里面,因为之前是单EXE的。对内存泄漏问题不是很在意。在DLL下面就不一样了,所以加入FastMM4来做监控调试。发现之前的ScripParser解析SQL时存在内存泄漏。
(转)------------------------------------------- 1、例子解析 for i := 0 to xls.Sheets[m].lastrow do //**** i定义的是行,lastrow是最大行号,是从0开始的行号,而不是 行数,如按count计算会少计算一行。
DELETE FROM 货品表 WHERE [货品ID] IN --删除找出的ID( ----GROUP BY先按照[货品编号],[货品名称]字段分组,并统计最大的[货品ID],随意找一个ID,并用Having 过滤掉大于1的(重复记录) SELECT MAX([货品ID]...
以前一直想在网上找一个,没有达到自己要求的. http://files.cnblogs.com/DKSoft/JsonFormater.rar 以前想写一个发现superobject序列化出来的为乱码。
我们可以用用例图可客户打交道,可以确认是否是用户所需要的, 接下来我们需要做更详细的设计。 可能会用到 活动图(Activity Diagram) : 可以清楚的表述动作的流程,流向 序列图(Sequence Diagram) : 详细的动作过程顺序设计 交互图(Collboration Diagram) : 各个动作直接的交互 序列图和交互图是可以互为转换(没有测试过),只是表现出来的角度不一样,比如交互图可以看到各个过程直接的关系。
一个项目的开始先有需求,这个需求不管是直接客户提出还是由上级提出。 对应到rose里面就是用例图。 用例图分为use-case(用例也叫系统用例)和Business Use-Case(业务用例) 这两者的区别,简单的来说 业务用例和系统用例是分别站在客户的业务视角和系统建设视角来规划的。
经过对代码的更深入的跟踪理解,发现了superobject采用的是平衡二叉树的方式保存数据的。 首先看看保存数据的类 TSuperAvlEntry = class private FGt, FLt: TSuperAvlEntry; FGt和FLt分别是保存通过比较(比较hash或者比较key的asc)大的保存在Gt,小的保存在Lt,是一个二叉树链表。
function TSuperAvlTree.Search(const k: SOString; st: TSuperAvlSearchTypes): TSuperAvlEntry;var cmp, target_cmp: integer; match_h, h: TSuperAvlEntry; ha: Cardinal;begin ha := TSuperAvlEntry.
在superObject中添加排序类型 type //add By Mofen TSOSortMode = (sosmDefault {默认的方式}, sosmAdd {添加的顺序}, sosmASC {升序}, sosmDesc {降序}); 添加全局设置方法 var nowSor...
一直有个想法。SuperObject这么好用的Json简析类,序列化出来的Json排序是乱的。 有时候想用SuperObject做保存树数据。这样一来排序都是乱乱的也就放弃了,这几天想改造一下SuperObject类。
一个软件的成功除了跟软件的灵活性和功能有很大关系之外,其实操作的便利性也占了很大一部分,特别是想抢占其他软件的领域的时候。实施的成功与否跟操作者有着很大的关系,要直接用户的认可,在数据的输入方面就要花费很大的功夫了。
从我接触Delphi到现在有差不多7个年头了,因为一直在工厂里面做事。所以接触面很窄。没有什么人可以讨论,因为只有水平在我之下的同事。后来还用Delphi开发了T5ERP, PMC, HRM等。 今年生活所迫,接触JAVA。
可以赚钱的网盘,重要的还可以存无限量的东西 点击注册http://cn.ziddu.com
在Action的Execute中设置了request.setAttribute("guestbook.display.list", list); 在jsp中得到requestScope['guestbook.display.list'],进行显示时就是没有办法显示。
Delphi用惯了,大小写无所谓。但JAVA里不认账,tomcat连文件名的大小写都在意。 今天在struts-config.xml中用了验证功能写成了 已启动tomcat就提示该项目有问题 java.lang.ClassNotFoundException: org.apache.struts.validator.validatorPlugIn 后来到struts-core包里面才发现validatorPlugIn写错了。
整体思想,编码方法统一(utf-8)一:页面显示中文乱码问题:解决:二:传递参数中文乱码问题:解决:1. 在tomcat中修改server.xml文件。在本机上 D:\Tomcat5.5\conf目录下找到server.
今天在试tomcat时发现简单的Structs都会出错。 一查发现 引起的。原来是相应的jar没有发布到tomcat下。想想之前的 都可以 会不会是需要重新发布包 后来找到在 中可以redeploy,这样可以重新将引用的jar发布。不用手动copy
8.0GA + Tomcat 6 + jdk1.6不行 6.0GA + Tomcat 6 + jdk1.6 就OK,郁闷.
以前装过sql server,后来删掉。现在重装,却出现“以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机”错误。无法进行下去。 参考网上资料,总算搞定。
服务器: 消息 8624,级别 16,状态 1,行 442内部 SQL Server 错误。 郁闷了两天的问题终于得到了解决。记下来 前天突然客户反应[客户订单],用的好好的居然有"内部错误",跟踪有发现是MSSQL的错误。
开始以为没有进行ParentKey的设置,后来设了ParentKey也一样有问题. 后来无意中将DataSet进行了Post发现OK了 Self.cdsMain.Append;if s '' then Self.
declare @StartDate datetimedeclare @EndDate datetimedeclare @WeekDay INT, @WeekNum INT set @StartDate = '2009-10-4' set @EndDate = '2009-10-25' ...
select * from bas_Material where CHECKSUM(*) NOT IN (SELECT CHECKSUM(*) FROM erpdata_zl.dbo.bas_Material)找出bas_Material不存在在 erpdata_zl.