摘要:
procedure TFDBForm_EditForm_MD.EnableDataSetEvent(AEnalbed: Boolean);{$J+}const CDetailBeforeEditEvent: TDataSetNotifyEvent = nil; CDetailBeforeDeleteEvent: TDataSetNotifyEvent = nil;{$J-}begin inh... 阅读全文
摘要:
转自:http://hi.baidu.com/zwl232/blog/item/76f011dfc9543812622798f2.html TClientDataSet 与TTable、TQuery一样,TClientDataSet也是从TDataSet继承下来的,它通常用于多层体系结构的客户端。 TClientDataSet最大的特点是它不依赖于BDE(Borland Data... 阅读全文
摘要:
转载自:http://www.pcbookcn.com/article/3679.htm 在三层结构中,TClientDataSet的地位是不可估量的,她的使用正确与否,是十分关键的,本文从以下几个方面阐述她的使用,希望对你有所帮助.1.动态索引procedure TForm1.DBGrid1TitleClick(Column: TColumn);beginif (not column.Fiel... 阅读全文
摘要:
procedure TForm1.Button3Click(Sender: TObject);begin Sender.Free; end;/*出错,用代码创建的有问题,设计时放上去没有问题,郁闷(谁能告诉我为什么),因为Click执行完事件后还有一些后续工作,访问Sender一些资源时av,因为sender.free了,建议使用 procedure WMLButtonDblClk(var... 阅读全文
摘要:
var ConnectionService := TConnService;procedure TfrmMain.FormCreate(Sender: TObject);begin ConnectionService := TConnService.Create(Application);end;destructor TfrmMain.Destroy;begin ConnectionServ... 阅读全文
摘要:
a.Monitor方法(MSDN摘录) Enter, TryEnter 获取对象锁,此操作同样会标记临界区的开头。其他任务线程都不能进入临界区,除非它使用其他锁定对象执行临界区的指令。 Wait 释放对象上的锁以便允许其他线程锁定和访问该... 阅读全文
摘要:
刚刚把前两天的笔记整理完了,发现做笔记可以加深印象。要坚持做下去,可以学到一些细节的东西。a.今天学到一个非常试用的lock 语法: lock(expression) statement_block expression代表你希望跟踪的对象,通常是对象引用。一般地,如果你想保护一个类的实例,你可以使用this;如果你希望保护一个静态变量(如互斥代码段在一个静态方法内部),一般使用... 阅读全文
摘要:
a.其它线程都是依附于Main()函数所在的线程的 Main()函数是C#程序的入口,起始线程可以称之为主线程 如果所有的前台线程都停止了,那么主线程可以终止,而所有的后台线程都将无条件终止。 而所有的线程虽然在微观上是串行执行的,但是在宏观上你完全可以认为它们在并行执行。 b.可能通过Thread.ThreadState来访问线程当前的状态 Aborted:线程已停止 AbortRe... 阅读全文
摘要:
开始学习C#版多线程知识,以前Delphi里多线程也少接触。现在学习,准备学习下多线程知道,希望每天可以坚持一篇,把多线程知识学通。C#多线程学习笔记(一) C#多线程学习笔记(二)C#多线程学习笔记(三)C#多线程学习笔记(四) --Lock and Monitor之二 阅读全文
摘要:
学习网站可以在http://www.yesky.com/331/215831.shtml里看到所有文章 a.在C#中要使用线程要引用System.Threading; using System.Threading; b.在C#可以对程进行命名 Thread _thrd = new Thread(new ThreadStart());_thrd.Name = "thisthrd.name" c.可以... 阅读全文