liuem  

随笔分类 -  Delphi

和Delphi相关的技巧、知识、经验
  • 【温故Delphi】GAEA用到Win32 API目录
    摘要:Delphi是Windows平台下著名的快速应用程序开发工具,它在VCL中封装并使用了大量的Win32 API。 GAEA基于VCL开发的工具类产品,在程序中使用了大量的Win32 API,将经常用到或涉及到的API罗列并梳理一下。系统API 1、事件对像:CreateEvent、setev... 阅读全文
    posted @ 2014-07-19 18:06 弈名 阅读(328) 评论(0) 推荐(0)
  • 【温故Delphi】双击工程文件打开软件
    摘要:问题描述 大部分软件都有鼠标双击文件,就能打开所关联的软件并打开所选工程,这是如何做到的呢? 把文件关联到一个程序中,双击文件来启动程序,那么这个文件名称就是这个程序的命令行的一个参数。 所以要想实现双击工程文件打开软件,在程序运行入口必须要处理命令行。代码说明 1 begin 2 A... 阅读全文
    posted @ 2014-07-19 16:57 弈名 阅读(1155) 评论(0) 推荐(0)
  • 【温故Delphi】Win32API之CreateMutex
    摘要:解决问题 如何让一个软件在一台机器上只能运行一个实例呢?这个问题用专业术语就是进程互斥。这个问题可以通过CreateMutex来解决。 进程互斥的核心思想:进程在启动时首先检查是否存在此进程实例,如果没有则创建进程并设置进程实例已存在的标记。 CreateMutex用于创建一个互斥体; Op... 阅读全文
    posted @ 2014-07-19 16:15 弈名 阅读(1796) 评论(0) 推荐(0)
  • 【温故Delphi】之VCL消息机制小结
    摘要:TObject消息分派 procedure Dispatch(var Message); virtual; #负责分派消息到特定VCL组件的事件处理函数 procedure DefaultHandler(var Message); virtual; #消息分类:通过子类覆盖此方法,处理窗... 阅读全文
    posted @ 2014-07-15 09:04 弈名 阅读(633) 评论(0) 推荐(0)
  • 【温故Delphi】Win32API之GetTempFileName
    摘要:所遇问题 新建的算量工程文件暂时保存到临时文件中,代码中调用了Win32 API——GetTempFileName 但在一台笔记本上,函数返回了一个空字符串! 为了查明原因想到了好用的GetLastError——返回错误信息。 结果错误信息为“拒绝访问”,这让我很快想到了传入文件夹用户权限问... 阅读全文
    posted @ 2014-07-11 09:26 弈名 阅读(1956) 评论(0) 推荐(0)
  • 【温故Delphi】之编译与链接(转)
    摘要:本文基本转自“Delphi编译/链接过程” @瓢虫Monster,向瓢虫君学习,:) 下图展示了Delphi是怎样编译源文件,并把它们链接起来,最终形成可执行文件的。 当Delphi编译项目(Project)时,将编译项目源文件、窗体单元和其他相关单元,在这个过程中将会发生好几件事情: 首先,Object Pascal编译器把项目单元文件编译为二进制对象文件(dcu); 然后资源编辑器将把诸如程序图标、窗体文件等资源编译成二进制资源文件; 接着链接开始起作用,链接器根据编译器产生的二进制文件,依项目需要增加一些库文件,并把这些文件综合在一起产生最终的可执行文件。编译、创建和链接... 阅读全文
    posted @ 2014-01-08 13:15 弈名 阅读(270) 评论(0) 推荐(0)
  • 【温故Delphi】之TreeView
    摘要:TreeView是Delphi中使用频率比较高的一个控件,虽然使用次数很多,但总结不够。借着这次做GDW原型的机会总结一下,写的过程中也会参考网上的博文。TTreeView、TTreeNodes和TTreeNode TTreeView由节点构成,建树通过对TreeView.items属性进行操作。Items是一个TTreeNodes对象,这是一个TTreeNode集。常用的属性Count,结点个数;Item[index],通过index得到结点;TTreeNode.Data,指向一个指针,可以存对象,存指针,也可以存整数;TTreeNode.Text,树结点的文本;TTreeNode.I... 阅读全文
    posted @ 2013-03-05 18:27 弈名 阅读(4064) 评论(0) 推荐(0)
  • 【温故Delphi】之窗口ShowModal
    摘要:问题描述 昨天同事修改一个bug,请我审查代码时我发现这个bug很有意思,值得深入研究一下。 问题是这样的,弹出一个模态窗口后,在窗口内切换树节点,发现主窗口也可以接受鼠标和键盘消息了——模态窗口不模态了! 跟踪发现,在窗口内切换树节点会间接调用到进度条窗口(我们自己写的一个窗口),ShowProgress时会调用Application.MainForm.Enabled := False,HideProgress是会调用Application.MainForm.Enabled := True,问题就出现在这个地方。ShowModal实现TCustomForm.ShowModalbegin... 阅读全文
    posted @ 2013-01-07 09:25 弈名 阅读(3300) 评论(0) 推荐(0)