Blogs

时间就是嵌入式程序开发的生命线

这周特别郁闷,由于上线的程序一个月内连续出现问题,本周7天,一天没休息,还搞了3个通宵调查现场出现的bug。 这周的几个Bug有一个共同的特点就是都是跟时间有关,其中一个是移植以前的一个硬件的Driver。这个Driver写得比较烂,其中一个TaskDelay的时间本来应该是Tick单位,结果被他们当成毫秒了,这次用的CPU是5ms一个 Tick。结果延时超出了硬件的范围。导致硬件驱动特别不稳定,动不动就通信异常。

Icon Editor

Sqlite Developer 2.50

这一版本主要增加了自动SQL语法错误检查。
下载地址
http://www.sharpplus.com/downloads/SqliteDev250.zip

Sqlite Developer 2.45

修正了无法解析自带的Sample数据库的表和触发器的错误
同时这一版本支持多语言界面切换的的功能,首先支持了中文。

下载地址
http://www.sharpplus.com/downloads/SqliteDev245.zip

Sqlite Developer 2.42

更新了Sqlite到3.3.12
同时重写了Parser和Lexer,支持了对外键关联语法的支持。
修正了对Unicode的Sql Script的支持。可以正确解析中文注释和中文字段。
下载地址:
http://www.sharpplus.com/downloads/SqliteDev242.zip

How to Hook WM_SETFOCUS Message

We should use WH_CALLWNDPROC type hook  , not WH_GETMESSAGE type hook

SQlite Developer 2.36

这两个月一直忙的项目终于要上线运行了.

上周我也总算有空把SQliteDeveloper的Schema Editor用的Grid重写了一遍,修改了很多焦点和闪烁的问题.

同时更新SQlite DLL到3.3.10

下载地址
http://www.sharpplus.com/downloads/SqliteDev236.zip

ControlStyle

控件的ControlStyle集合属性中可以设置为包含
csSetCaption
这个样式的意思是,但用户改变了控件的名字的时候,会自动的修改相应的控件的Caption属性为新的名字

Hook WM_SETFOCUS消息

注意,要想Hook焦点的消息的话,需要使用WH_CALLWNDPROC类型的钩子,而不是WH_GETMESSAGE类型的钩子

为任意控件添加阴影的效果

在Delphi的ShadowWnd单元中定义了一个TShadowWindow的类,这个类可以用来给人任意的可视化控件添加阴影效果,示意代码如下:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ShadowWnd;

type
TForm1 = class(TForm)
lbl1: TLabel;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure lbl1Click(Sender: TObject);
private
{ Private declarations }
FShadow:TShadowWindow;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
FShadow := TShadowWindow.CreateShadow(lbl1, csRight);
FShadow.Control:=lbl1;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
FShadow.Free;
end;

procedure TForm1.lbl1Click(Sender: TObject);
begin
if FShadow.Visible then
FShadow.Hide
else
FShadow.Show;
end;

end.

Syndicate content