自己做的日期控件,为什么在win98下可以,在win2000却不行(附源代码) 1,你查一下tdbedit.change的声明,看看是不是有什么特别,2,报错的内容是什么?3,2000有比98严格的多的消息管理机制,你没犯着它吧? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 编译不出错(Delpli5+win2000)在把控件放在form上就出错错误信息:Access violation at address 5100213E in modue 'dclusr50.bpl',Read of address 00000000 //不好意思,把你的控件改了一点//我在 win2000+delphi6 下使用没有问题。unit DbDateEdit;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Mask, DBCtrls,comctrls;type TDBDateEdit = class(TDBEdit) DateTimePicker: TDateTimePicker; private { Private declarations } protected { Protected declarations } procedure DBChange(Sender: TObject); procedure Change;override; public { Public declarations } constructor Create(Owner: TComponent); override; destructor Destroy; override; published { Published declarations } end;procedure Register;implementationprocedure Register;begin RegisterComponents('Free', [TDBDateEdit]);end;constructor TDBDateEdit.Create(Owner: TComponent);begin inherited Create(Owner); DateTimePicker := TDateTimePicker.Create(self); DateTimePicker.Parent := self; DateTimePicker.Left := Left - 1; DateTimePicker.Top := Top - 1; DateTimePicker.Height := Height; DateTimePicker.Width := Width; DateTimePicker.OnChange := DBChange;end;procedure TDBDateEdit.DBChange(Sender: TObject);begin if DataSource <> nil then begin DataSource.Edit; Field.AsDateTime := DateTimePicker.Date; end;end;procedure TDBDateEdit.Change;begin if DataSource <> nil then if Field.AsDateTime > 0 then DateTimePicker.Date := Field.AsDateTime;end;destructor TDBDateEdit.Destroy;begin DateTimePicker.Free; inherited;end;end. 谢谢jingpingyi(jingpingyi)再给10分 端口数据包拦截 简单送分题: png 问题 开发win32程序哪个好?delphi还是c++builder? 急问一个listbox的操作,谢谢帮忙,马上结 wince移动设备路径问题 两个小问题,都搜索不到好的答案 为什么会出现“out of system resources"错误? DELPHI有中文版吗? listview实现多字段排序 在线,急救..... Excel的时间问题 delphi和vb学哪个好? 如何判断用户是输入密码,还是按“取消”进入到WIN9x的?(空)
在把控件放在form上就出错
错误信息:
Access violation at address 5100213E in modue 'dclusr50.bpl',Read of address 00000000
//我在 win2000+delphi6 下使用没有问题。
unit DbDateEdit;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Mask, DBCtrls,comctrls;type
TDBDateEdit = class(TDBEdit)
DateTimePicker: TDateTimePicker;
private
{ Private declarations }
protected
{ Protected declarations }
procedure DBChange(Sender: TObject);
procedure Change;override;
public
{ Public declarations }
constructor Create(Owner: TComponent); override;
destructor Destroy; override;
published
{ Published declarations }
end;procedure Register;implementationprocedure Register;
begin
RegisterComponents('Free', [TDBDateEdit]);
end;constructor TDBDateEdit.Create(Owner: TComponent);
begin
inherited Create(Owner); DateTimePicker := TDateTimePicker.Create(self);
DateTimePicker.Parent := self;
DateTimePicker.Left := Left - 1;
DateTimePicker.Top := Top - 1;
DateTimePicker.Height := Height;
DateTimePicker.Width := Width;
DateTimePicker.OnChange := DBChange;
end;procedure TDBDateEdit.DBChange(Sender: TObject);
begin
if DataSource <> nil then
begin
DataSource.Edit;
Field.AsDateTime := DateTimePicker.Date;
end;
end;procedure TDBDateEdit.Change;
begin
if DataSource <> nil then
if Field.AsDateTime > 0 then
DateTimePicker.Date := Field.AsDateTime;
end;destructor TDBDateEdit.Destroy;
begin
DateTimePicker.Free; inherited;
end;end.
再给10分