11 2019 档案

摘要:设定后即可自动换行及行高自适应。版本号5.6.2 1、masterData:属性值:stretched 为True 2、Memo设定wordwrap为True ,stretchMode:smMaxHeight FastReport自动增加空行 1、在masterdata下增加child; 2、在co 阅读全文
posted @ 2019-11-22 16:04 木头侠 阅读(3066) 评论(0) 推荐(0) 编辑
摘要:按下tab键显示或隐藏工具箱、面板和工具选项,按tab+shit键可显示或隐藏面板; 英文下如l,v,m可调出对应的操作; 按z进行缩放时单击mouse并向右侧拖曳放大,反之则缩小;[去掉细微缩放时,有选择矩形框]{按住alt键+中键也可缩放} 】{ctrl+,ctrl-也可缩放 Ctrl+1<10 阅读全文
posted @ 2019-11-21 19:56 木头侠 阅读(267) 评论(0) 推荐(0) 编辑
摘要:转载自:https://www.cnblogs.com/ADAN1024225605/p/7927695.html 线程B向线程A发送消息,SendMessage(线程A句柄, msg, wParam参数, lParam参数); 线程A重写WndProc(var Message: TMessage) 阅读全文
posted @ 2019-11-15 21:59 木头侠 阅读(556) 评论(0) 推荐(0) 编辑
摘要:转载自:https://blog.csdn.net/chinajobs/article/details/51461368 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Cont 阅读全文
posted @ 2019-11-13 20:08 木头侠 阅读(926) 评论(0) 推荐(0) 编辑
摘要:转载自:https://www.cnblogs.com/lackey/p/4782777.html 本例是把多个线程访问数据库的请求,全部阻塞到一个线程。 这是实际编程中常见的一种问题。 示例源码下载,所需支持单元均在源码中,且附详细说明。 TElegantThread 的父类是 TSimpleTh 阅读全文
posted @ 2019-11-13 20:05 木头侠 阅读(327) 评论(0) 推荐(0) 编辑
摘要:转载自:https://www.cnblogs.com/lackey/p/5371544.html 对线程的使用,是每个开发者都应该熟练掌握的,也是进阶的重要一环。 可以这样说,没有线程,连界面假死的问题都解决不了,就更别谈并行处理来提高效率了。 本例对线程进行改进,打造一个基础的线程,以后线程应用 阅读全文
posted @ 2019-11-13 20:03 木头侠 阅读(456) 评论(0) 推荐(0) 编辑
摘要:转载自:https://www.cnblogs.com/lackey/p/5411389.html delphi 自带的Timer控件,使用方便,但它的 OnTimer 事件是在主线程中引发的。 如果在事件中执行较耗时的代码,会引起主界面假死。故实现一个线程的Timer就有必要了。 TThreadT 阅读全文
posted @ 2019-11-13 20:02 木头侠 阅读(973) 评论(0) 推荐(0) 编辑
摘要:转载自:https://www.cnblogs.com/lackey/p/10357331.html 在编程开发的时候,我们时常会调用windows本身的功能,如:检测网络通断,连接无线wifi等。 虽然,用 windows api 操作可以完美地完成这些操作,但是,函数参数太难了。令人望而生畏,不 阅读全文
posted @ 2019-11-13 20:00 木头侠 阅读(1277) 评论(0) 推荐(0) 编辑
摘要:转载自:https://www.cnblogs.com/lackey/p/8988376.html 面向对象编程手法,是一项综合技能,单独把谁拿出来说都不合适。本次重写 TSimpleThread ,使其能在 D7 下运行。 基于 TSimpleThread ,重磅推出 TSimpleUI.ExeP 阅读全文
posted @ 2019-11-13 19:58 木头侠 阅读(161) 评论(0) 推荐(0) 编辑
摘要:转载自:https://www.cnblogs.com/lackey/p/6337357.html 第七节:在多个线程时空中,把各自的代码塞到一个指定的线程时空运行 以 Ado 为例,常见的方法是拖一个 AdoConnection 在窗口上(或 DataModule 中), 再配合 AdoQuery 阅读全文
posted @ 2019-11-13 19:56 木头侠 阅读(298) 评论(0) 推荐(0) 编辑
摘要:转载自:https://www.cnblogs.com/lackey/p/6336658.html 第六节: TList 与泛型 TList 是一个重要的容器,用途广泛,配合泛型,更是如虎添翼。 我们先来改进一下带泛型的 TList 基类,以便以后使用。 本例源码下载(delphi XE8版本):  阅读全文
posted @ 2019-11-13 19:54 木头侠 阅读(408) 评论(0) 推荐(0) 编辑
摘要:转载自:https://www.cnblogs.com/lackey/p/6306368.html 第五节:多个线程同时执行相同的任务 1.锁 设,有一个房间 X ,X为全局变量,它有两个函数 X.Lock 与 X.UnLock; 有如下代码: X.Lock; 访问资源 P; X.Unlock; 现 阅读全文
posted @ 2019-11-13 19:51 木头侠 阅读(708) 评论(0) 推荐(0) 编辑
摘要:转载自:https://www.cnblogs.com/lackey/p/6305768.html 第四节:多线程类的改进 1.需要改进的地方 a) 让线程类结束时不自动释放,以便符合 delphi 的用法。即 FreeOnTerminate:=false; b) 改造 Create 的参数,让它适 阅读全文
posted @ 2019-11-13 19:49 木头侠 阅读(311) 评论(0) 推荐(0) 编辑
摘要:转载自:https://www.cnblogs.com/lackey/p/6297118.html 第三节:设计一个有生命力的工作线程 创建一个线程,用完即扔。相信很多初学者都曾这样使用过。 频繁创建释放线程,会浪费大量资源的,不科学。 1.如何让多线程能多次被复用? 关键是不让代码退出 Execu 阅读全文
posted @ 2019-11-13 19:47 木头侠 阅读(332) 评论(0) 推荐(0) 编辑
摘要:转载自:https://www.cnblogs.com/lackey/p/6296414.html 第二节:在线程时空中操作界面(UI) 1.为什么要用 TThread ? TThread 基于操作系统的线程函数封装,隐藏了诸多繁琐的细节。 适合于大部分情况多线程任务的实现。这个理由足够了吧? 什么 阅读全文
posted @ 2019-11-13 19:44 木头侠 阅读(545) 评论(0) 推荐(0) 编辑
摘要:转载自:https://www.cnblogs.com/lackey/p/6297115.html 第一节:初识多线程 1.为什么要学习多线程编程? 多线程(多个线程同时运行)编程,亦可称之为异步编程。 有了多线程,主界面才不会因为耗时代码而造成“假死“状态。 有了多线程,才能使多个任务同时执行,最 阅读全文
posted @ 2019-11-13 19:43 木头侠 阅读(415) 评论(0) 推荐(0) 编辑
摘要:转载自:https://www.cnblogs.com/xumenger/p/4319354.html 1. 介绍Win32 API和Win32系统。还要讨论Win32系统的功能以及它与16位系统在功能上的几个主要区别。只是让对Win32系统有一个基本的了解。当已经基本了解Win32操作后,就可以在 阅读全文
posted @ 2019-11-13 19:37 木头侠 阅读(315) 评论(0) 推荐(0) 编辑
摘要:转载自:https://www.cnblogs.com/xumenger/p/4440620.html TThread在Classes单元里的声明如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 阅读全文
posted @ 2019-11-13 19:36 木头侠 阅读(767) 评论(0) 推荐(0) 编辑
摘要:转载自:https://www.cnblogs.com/xumenger/p/4440722.html 在16位时代,当我们在Windows3.x下编程时,经常会用到GetTickCount()或者timeGetTime()来判断一段代码的执行时间。示例如下 1 2 3 4 5 6 7 var St 阅读全文
posted @ 2019-11-13 19:34 木头侠 阅读(446) 评论(0) 推荐(0) 编辑
摘要:转载自:https://www.cnblogs.com/xumenger/p/4440646.html 当线程对象的Execute()执行完毕,我们就认为此线程终止了。这时候,它会调用Delphi的一个标准例程EndThread(),这个例程再调用API函数ExitThread()。由ExitThr 阅读全文
posted @ 2019-11-13 19:34 木头侠 阅读(1298) 评论(0) 推荐(0) 编辑
摘要:转载自:https://www.cnblogs.com/xumenger/p/4450634.html 尽管多线程能够解决许多问题,但是同时它又给我们带来了很多的问题。其中主要的问题就是:对全局变量或句柄这样的全局资源如何访问?另外,当必须确保一个线程中的某些事件要在另一个线程中的其他时间之前(或之 阅读全文
posted @ 2019-11-13 19:32 木头侠 阅读(357) 评论(0) 推荐(0) 编辑
摘要:更详细的可以参考:http://www.cnblogs.com/xumenger/p/4450659.html 或者参考之后的博客 四个系统内核对象(事件、互斥、信号、计时器)都是线程同步的手段,从这也能看出处理线程同步的复杂性;不过这还不是全部,Windows Vista开始增加了 Conditi 阅读全文
posted @ 2019-11-13 19:29 木头侠 阅读(331) 评论(0) 推荐(0) 编辑
摘要:转载自:https://www.cnblogs.com/xumenger/p/4450659.html 当有多个线程的时候,经常需要去同步这些线程以访问同一个数据或资源。 例如,假设有一个程序,其中一个线程用于把文件读到内存,而另一个线程用于统计文件的字符数。当然,在整个文件调入内存之前,统计它的计 阅读全文
posted @ 2019-11-13 19:28 木头侠 阅读(423) 评论(0) 推荐(0) 编辑
摘要:转载自:https://www.cnblogs.com/xumenger/p/4701404.html 首先看TThread源码中关于OnTerminate的代码: 1 2 3 4 5 public .... property OnTerminate: TNotifyEvent read FOnTe 阅读全文
posted @ 2019-11-13 19:22 木头侠 阅读(346) 评论(0) 推荐(0) 编辑
摘要:转载自https://www.cnblogs.com/xumenger/p/4454115.html 上篇博客中提出了一个问题:怎么结束一个定时循环执行的线程,并给出了一个解决方案,但是又出现了一个问题,详细去参考上一篇博客。 然后出去撒了个尿,突然脑子里出现了一个想法(看来工作和思考久了,出去走走 阅读全文
posted @ 2019-11-13 19:19 木头侠 阅读(334) 评论(0) 推荐(0) 编辑
摘要:转载自https://www.cnblogs.com/xumenger/p/4453902.html 在线程对象被释放之前,首先要检查线程是否还在执行中,如果线程还在执行中(线程ID不为0,并且线程结束标志未设置),则调用Terminate 过程结束线程。Terminate 过程只是简单地设置线程类 阅读全文
posted @ 2019-11-13 19:17 木头侠 阅读(864) 评论(0) 推荐(0) 编辑
摘要:接着上文介绍TThread。 现在开始说明 Synchronize和WaitFor 但是在介绍这两个函数之前,需要先介绍另外两个线程同步技术:事件和临界区 事件(Event) 事件(Event)与Delphi中的事件有所不同。从本质上讲,Event其实就相当于一个全局的布尔变量。它有两个赋值操作:S 阅读全文
posted @ 2019-11-13 19:15 木头侠 阅读(637) 评论(0) 推荐(0) 编辑
摘要:参考:http://www.cnblogs.com/rogee/archive/2010/09/20/1832053.html Delphi中有一个线程类TThread是用来实现多线程编程的,这个绝大多数的Delphi书籍都有讲到,但是基本上都是对TThread类的几个成员作一简单介绍,再说明一个 阅读全文
posted @ 2019-11-13 19:13 木头侠 阅读(387) 评论(0) 推荐(0) 编辑
摘要:先说一下RTL和VCL RTL(Run-Time library),运行时库,包括System、SysUtils、Math三个单元,提供的函数与语言、编译器、操作系统及进程有关 RTL提供类之间继承于 TObject 和 RTL内部的类 VCL(Visual Component Library),可 阅读全文
posted @ 2019-11-13 18:23 木头侠 阅读(483) 评论(0) 推荐(0) 编辑
摘要:参考http://blog.chinaunix.net/uid-10535208-id-2949323.html 一、概述 Delphi提供了好几种对象以方便进行多线程编程。多线程应用程序有以下几方面的功能: 1.避免性能瓶颈:单线程应用程序在进行比较慢的操作如磁盘读写的时候,CPU必须停下来等待, 阅读全文
posted @ 2019-11-13 18:05 木头侠 阅读(550) 评论(0) 推荐(0) 编辑
摘要:文章来自于:https://www.cnblogs.com/lackey/p/5373761.html delphi 的IDE快捷键与输入法切换键中突,以往的解决方法是下载一个ImeTool修改 windows 系统的快捷键 在 xp win7 都好使,但在win 10经常是修改完后,重启又失效了。 阅读全文
posted @ 2019-11-09 18:44 木头侠 阅读(292) 评论(0) 推荐(0) 编辑
摘要:属性子选项 值 说明 Allowedoperations[alopInsertEh,alopUpdateEh,alopDeleteEh,alopAppendEh]允许操作类型:插入、更新、删除、追加 Allowedselections[gstRecordBookmarks,gstRectangle, 阅读全文
posted @ 2019-11-08 06:55 木头侠 阅读(1029) 评论(0) 推荐(0) 编辑
摘要:sql2005版本有个函数ISNUMERIC(expression)函数:当expression为数字时,返回1,否则返回0。 select ISNUMERIC('123') --结果为1但是,该函数有个缺点! 1 SELECT 2 ,ISNUMERIC('-') as '-' --1 3 ,ISN 阅读全文
posted @ 2019-11-07 14:56 木头侠 阅读(4121) 评论(0) 推荐(0) 编辑
摘要:当创建了多个线程,并且多个线程都要访问同一资源,,就有可能出现混乱,于是用Synchronize来控制,使同一时间只有一个线程使用那部分资源,Synchronize参数里面的代码就是多线程需要公共的代码!线程是进程内一个相对独立的、可调度的执行单元。一个应用可以有一个主线程,一个主线程可以有多个子线 阅读全文
posted @ 2019-11-06 15:09 木头侠 阅读(486) 评论(0) 推荐(0) 编辑
摘要:在了解多线程之前我们先了解一下进程和线程的关系 一个程序至少有一个主进程,一个进程至少有一个线程。 为了保证线程的安全性请大家看看下面介绍 Delphi多线程同步的一些处理方案大家可以参考:http://www.cr173.com/html/16747_1.html 主线程又程为UI线程。 进程和线 阅读全文
posted @ 2019-11-06 15:07 木头侠 阅读(1300) 评论(0) 推荐(0) 编辑
摘要:MSComm控件具有丰富的与串口通信密切相关的属性,提供了对串口进行的多种操作,进而使串行通信变得十分简便。MSComm的控件属性较多,常用的属性如下:1).CommPort:设置或返回串行端口号,缺省为1。2).Setting:设置或返回串口通信参数,格式为“波特率,奇偶校验位,数据位,停止位”。 阅读全文
posted @ 2019-11-06 14:57 木头侠 阅读(1261) 评论(0) 推荐(0) 编辑
摘要:ADO多线程数据库查询通常会出现以下问题: 1、CoInitialize 没有调用(CoInitialize was not called);所以,在使用任何dbGo对象前,必须手 调用CoInitialize和CoUninitialize。调用CoInitialize失败会产生"CoInitial 阅读全文
posted @ 2019-11-06 14:55 木头侠 阅读(1055) 评论(0) 推荐(0) 编辑
摘要:先看一个非多线程的例子, 代码执行时不能进行其它操作(譬如拖动窗体): {自定义方法: 在窗体上绘制...} procedure MyMethod; var i: Integer; begin for i := 0 to 500000 do begin Form1.Canvas.Lock; Form 阅读全文
posted @ 2019-11-06 14:38 木头侠 阅读(995) 评论(0) 推荐(0) 编辑
摘要:代码很简单: 代码很简单: 1 2 3 4 DBGrideh.StartLoadingStatus(' Loading ... '); Sleep(500); DBGrideh.FinishLoadingStatus; 做下变动: 1 2 3 DBGrideh.StartLoadingStatus( 阅读全文
posted @ 2019-11-06 11:08 木头侠 阅读(229) 评论(0) 推荐(0) 编辑
摘要:在写Sunlike ERP插件联查时提示 无法解决 equal to 运算中 "Compatibility_198_804_30001" 和 "Chinese_PRC_CI_AS" 之间的排序规则冲突 原因为sunlike 数据库字符(varchar)采用的排序规则是Compatibility_19 阅读全文
posted @ 2019-11-01 16:43 木头侠 阅读(3107) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示