<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="rss.xsl" media="screen"?>
<rss version="2.0">
  <channel>
    <title>点滴论坛 - Delphi</title>
    <link>http://www.mini188.com/showforum-2.aspx</link>
    <description>Latest 20 threads</description>
    <copyright>Copyright (c) 点滴论坛</copyright>
    <generator>Discuz!NT</generator>
    <pubDate>Wed, 07 Jan 2009 02:53:43 GMT</pubDate>
    <ttl>240</ttl>
    <item>
      <title>Delphi中的线程临界区</title>
      <description><![CDATA[临界区（CriticalSection）则是一项共享数据访问保护的技术。它其实也是相当于一个全局的布尔变量。但对它的操作有所不同，它只有两个操作：Enter和Leave，同样可以把它的两个状态当作True和False，分别表示现在是否处于临界区中。这两个操作也是原语，所以它可以用于在多线程应用中保护共享数据，防止访问冲突。
用临界区保护共享数据的方法很简单：在每次要访问共享数据之前调用Enter]]></description>
      <link>http://www.mini188.com/showtopic-871.aspx</link>
      <category>Delphi</category>
      <author>5207</author>
      <pubDate>Sun, 28 Dec 2008 23:59:00 GMT</pubDate>
    </item>
    <item>
      <title>EnterCriticalSection的应用说明</title>
      <description><![CDATA[在百度上找到了一个超强的回答，呵呵，很搞笑：
就像上厕所： 
门锁了，就等着，等到别人出来了，进去锁上，然后该干什么干什么，干完了，把门打开 

门没锁，就进去，锁上，然后该干什么干什么，干完了，把门打开 

-------------------------------------------------- 
多线程中用来确保同一时刻只有一个线程操作被保护的数据 

Initi]]></description>
      <link>http://www.mini188.com/showtopic-870.aspx</link>
      <category>Delphi</category>
      <author>5207</author>
      <pubDate>Sun, 28 Dec 2008 23:42:00 GMT</pubDate>
    </item>
    <item>
      <title>SetEvent说明</title>
      <description><![CDATA[Sets the specified event object to the signaled state.
Syntax

BOOL WINAPI SetEvent(  __in  HANDLE hEvent);

Parameters
hEvent  
A handle to the event object. The CreateEvent or OpenEvent funct......]]></description>
      <link>http://www.mini188.com/showtopic-869.aspx</link>
      <category>Delphi</category>
      <author>5207</author>
      <pubDate>Sun, 28 Dec 2008 01:17:00 GMT</pubDate>
    </item>
    <item>
      <title>ResetEvent的说明</title>
      <description><![CDATA[ResetEvent

　　这个函数把指定的事件对象设置为无信号状态。

　　BOOL ResetEvent(

　　HANDLE hEvent

　　);

　　参数说明：

　　hEvent 

　　 指向事件对象的句柄.由 CreateEvent or OpenEvent 函数返回。 这个句柄需要拥有EVENT_MODIFY_STATE 访问权限. 

　　函]]></description>
      <link>http://www.mini188.com/showtopic-868.aspx</link>
      <category>Delphi</category>
      <author>5207</author>
      <pubDate>Sun, 28 Dec 2008 01:09:00 GMT</pubDate>
    </item>
    <item>
      <title>CreateEvent说明</title>
      <description><![CDATA[函数功能描述：创建或打开一个命名的或无名的事件对象

　　函数原型：

　　HANDLE CreateEvent(

　　LPSECURITY_ATTRIBUTES lpEventAttributes, // 安全属性

　　BOOL bManualReset, // 复位方式

　　BOOL bInitialState, // 初始状态

　　LPCTSTR lpName]]></description>
      <link>http://www.mini188.com/showtopic-867.aspx</link>
      <category>Delphi</category>
      <author>5207</author>
      <pubDate>Sun, 28 Dec 2008 00:20:00 GMT</pubDate>
    </item>
    <item>
      <title>TransparentBlt函数说明</title>
      <description><![CDATA[函数功能：该函数对指定的源设备环境中的矩形区域像素的颜色数据进行位块（bit_block）转换，并将结果置于目标设备环境。

　　函数原型：BOOL TransparentBlt(HDC hdcDest, int nXOriginDest, int nYOriginDest, int nWidthDest, int hHeightDest, HDC hdcSrc, int nXOriginSr]]></description>
      <link>http://www.mini188.com/showtopic-866.aspx</link>
      <category>Delphi</category>
      <author>5207</author>
      <pubDate>Sat, 27 Dec 2008 23:49:00 GMT</pubDate>
    </item>
    <item>
      <title>在delphi中三个形式：ADODB_TLB ADOInt ADODB</title>
      <description><![CDATA[RecordSet在delphi中常见的转换问题
三个文件中都有，但都不同ADODB_TLB._RecordSet ADOInt._RecordSet ADODB.RecordSet
ADODataSet和ADOQuery只能接受ADOInt._RecordSet，不能接受ADODB_TLB._RecordSet
原生_RecordSet与ADOInt._RecordSet互转，应该可以实现]]></description>
      <link>http://www.mini188.com/showtopic-862.aspx</link>
      <category>Delphi</category>
      <author>5207</author>
      <pubDate>Wed, 24 Dec 2008 22:32:57 GMT</pubDate>
    </item>
    <item>
      <title>Delphi使用Indy实现FTP操作例子（代码实现），含断点续传</title>
      <description><![CDATA[本贴所发附件中的delphi完整实例，使用Indy实现FTP操作例子（代码实现），可支持断点续传。我发这个东西只是希望有朋友能够一起来交流下，在断点续传时有些问题。具体请下载附件调试之。
注意：
开发工具：Delphi7 + Indy9]]></description>
      <link>http://www.mini188.com/showtopic-855.aspx</link>
      <category>Delphi</category>
      <author>5207</author>
      <pubDate>Wed, 17 Dec 2008 19:52:04 GMT</pubDate>
    </item>
    <item>
      <title>Indy实现FTP上传下载，支持断点续传</title>
      <description><![CDATA[这两天一直在研究Indy的TIdFTP，用来实现FTP操作。

完整的代码请到此下载：http://www.mini188.com/showtopic-855.aspx

因为是Delphi7自带的，好像有许多 BUG，使用时也确实是这样，总是有些奇怪的问题出现。但简单的功能还是实现了。使用他的Put和Get方法可以完成基本的操作。

简单代码如下：

下载代码//下载，支持断点续]]></description>
      <link>http://www.mini188.com/showtopic-854.aspx</link>
      <category>Delphi</category>
      <author>5207</author>
      <pubDate>Wed, 17 Dec 2008 00:25:49 GMT</pubDate>
    </item>
    <item>
      <title>delphi中的COM接口继承</title>
      <description><![CDATA[今天在做一个文件上专下载的组件设计，最初的设计是将所有的功能都封在COM中，对外部仅公开二个COM接口。一个接口实现组件的主体功能，另一个接口作为参数传递。在COM中再定义一个接口，并从此接口继承来实现具体的业务实体类。这样只要接口不改变，可以不断的扩展业务实体对象。
整理了简短的文档后提交设计与同事讨论。

讨论的结果让我很是郁闷，要求将COM的抽象接口拉出来定义，另外所有的业务实体都用单]]></description>
      <link>http://www.mini188.com/showtopic-852.aspx</link>
      <category>Delphi</category>
      <author>5207</author>
      <pubDate>Fri, 12 Dec 2008 23:55:47 GMT</pubDate>
    </item>
    <item>
      <title>Delphi编译指令(compiler directives)详解（转至大富翁）</title>
      <description><![CDATA[Compiler Directive 对程序开发的影响与助益, 可以从以下几个方向来讨论: 

协助除错 
版本分类 
程序的重用与管理 
设定统一的执行环境 
协助除错 

   稳健熟练的程序设计师经常会在开发应用系统的过程中﹐特别加入一些除错程序或者回馈验算的程序﹐这些除错程序对于软件品质的提升有极其正面的功能。然而开发完成的正式版本中如果不需要这些额外的程序的话﹐要想在一堆]]></description>
      <link>http://www.mini188.com/showtopic-843.aspx</link>
      <category>Delphi</category>
      <author>5207</author>
      <pubDate>Wed, 03 Dec 2008 20:35:43 GMT</pubDate>
    </item>
    <item>
      <title>Delphi中使用ExitWindowsEx实现关机</title>
      <description><![CDATA[function ExitWindowsEx(uFlags, dwReserved: Cardinal): LongBool;
如果调用该函数成功，则返回True，否则返回False ；

参数uFlags的说明：
EWX_FORCE 
强制终止所有的进程。如果设置了此参数，Windows 将不会向正在运行的应用程序发送消息WM_QUERYENDSESSION和WM_ENDSESSION]]></description>
      <link>http://www.mini188.com/showtopic-832.aspx</link>
      <category>Delphi</category>
      <author>5207</author>
      <pubDate>Sun, 23 Nov 2008 01:23:23 GMT</pubDate>
    </item>
    <item>
      <title>两个delphi函数：ifthen和iif</title>
      <description><![CDATA[这两个函数都是通过Boolean表达式获取值的方法。
应用方法如下：var
  Form1: TForm1;

implementation
uses
  Math, IdGlobal;
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  iReturn: Integer;
begin
  i]]></description>
      <link>http://www.mini188.com/showtopic-825.aspx</link>
      <category>Delphi</category>
      <author>5207</author>
      <pubDate>Tue, 18 Nov 2008 21:58:52 GMT</pubDate>
    </item>
    <item>
      <title>delphi如果实现光标效果</title>
      <description><![CDATA[在TEdit等控件，是可以直接获取焦点后插入光标的，而像Form、Panel却不能。其实不难，只要用几个Api就可以实现光标的插入。。。procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  DestroyCaret;
]]></description>
      <link>http://www.mini188.com/showtopic-811.aspx</link>
      <category>Delphi</category>
      <author>5207</author>
      <pubDate>Thu, 06 Nov 2008 20:22:59 GMT</pubDate>
    </item>
    <item>
      <title>TreeView中如何显示CheckBox且可以获取勾选状态</title>
      <description><![CDATA[1、让 TreeView显示复选框，方法很简单，只要API打开显示即可，因为 TreeView是WIndows标准控件。 SetWindowLong(TreeView1.Handle, GWL_STYLE, GetWindowLong(TreeView1.Handle, GWL_STYLE) or $00000100);将上面的代码执行后，你就会发现你要的结果了。。

2、显示了后，如何才能知]]></description>
      <link>http://www.mini188.com/showtopic-792.aspx</link>
      <category>Delphi</category>
      <author>5207</author>
      <pubDate>Mon, 13 Oct 2008 15:35:38 GMT</pubDate>
    </item>
    <item>
      <title>delphi实现exe形式的com</title>
      <description><![CDATA[这几天写一个等待进度条，由于在软件中没有考虑到多线程计算，所以开发等待进度框时最难的问题就是如何能够在主线程运行的情况下还能操作。

这其中的难点就是主线程在做运转时，如执行某个耗时的查询操作，由于主线程占满了，即使能打开等待进度框，也只能干看着不能动。于是在进度框中放了一个TAnimate控件播放AVI，这样动画倒是动了，可是不能做其他操作了，在等待框中有个“取消”按钮，在这种情况下点是没有]]></description>
      <link>http://www.mini188.com/showtopic-782.aspx</link>
      <category>Delphi</category>
      <author>5207</author>
      <pubDate>Thu, 09 Oct 2008 23:23:20 GMT</pubDate>
    </item>
    <item>
      <title>Delphi2009之TTrayIcon</title>
      <description><![CDATA[DELPH在 Vcl中提供了此控件，蛮好用的。使用超级简单：

1、打开Delphi2009，并建立一个VCL应用程序
2、从控件工具栏中的：Additional分页中找到TTrayIcon放在窗体上。
3、再从Standard中TPopupMenu，拉到窗体上
4、增加一个Popup菜单“Exit”：写入事件如下：
procedure TForm1.Exit1Click(Sender]]></description>
      <link>http://www.mini188.com/showtopic-773.aspx</link>
      <category>Delphi</category>
      <author>5207</author>
      <pubDate>Wed, 08 Oct 2008 20:49:25 GMT</pubDate>
    </item>
    <item>
      <title>Delphi2009之TTrayIcon</title>
      <description><![CDATA[DELPH在 Vcl中提供了此控件，蛮好用的。使用超级简单：

1、打开Delphi2009，并建立一个VCL应用程序
2、从控件工具栏中的：Additional分页中找到TTrayIcon放在窗体上。
3、再从Standard中TPopupMenu，拉到窗体上
4、增加一个Popup菜单“Exit”：写入事件如下：
procedure TForm1.Exit1Click(Sender]]></description>
      <link>http://www.mini188.com/showtopic-772.aspx</link>
      <category>Delphi</category>
      <author>5207</author>
      <pubDate>Wed, 08 Oct 2008 20:48:57 GMT</pubDate>
    </item>
    <item>
      <title>线程中Synchronize的作用</title>
      <description><![CDATA[我们知道，大部分的VCL是线程不安全的，所以在用线程操作VCL的时候必须要用到Synchronize。
我们再来看看Synchronize是个什么东西。
《Delphi4编程技术内幕》的P126中说：“具体来说，Synchronize做一些控制工作，使你的线
程临时成为应用程序主线程的一部分。在这个进程中，你可以访问VCL。当不再需要VCL的时候，
你应当为断代码中的同步部分。于是你的程序]]></description>
      <link>http://www.mini188.com/showtopic-771.aspx</link>
      <category>Delphi</category>
      <author>5207</author>
      <pubDate>Wed, 08 Oct 2008 16:31:44 GMT</pubDate>
    </item>
    <item>
      <title>CnDHibernate(支持Delphi6-Delphi2009) 发布</title>
      <description><![CDATA[今天偶然去下载CnWizards时发现的，HOHO，于是下载试用中。

下载地址:http://www.cnpack.org/download.php?id=334&amp;amp;;lang=zh-cn
里面包含了完整的源代码、文档、Demo。]]></description>
      <link>http://www.mini188.com/showtopic-726.aspx</link>
      <category>Delphi</category>
      <author>5207</author>
      <pubDate>Mon, 15 Sep 2008 14:06:53 GMT</pubDate>
    </item>
  </channel>
</rss>