当前位置:主页>delphi技巧/代码下载> 文章内容

delphi2005调用属性编辑器的问题?帮忙!!!! 在

发布时间:2010-05-01 | QQ免费站
1楼: 自定义控件中,DataSource和DataField1
unit REdit;

interface

uses
SysUtils, Classes, Controls, StdCtrls, Db, DBCtrls;

type
TREdit = class(TEdit)
private
{ Private declarations }
FAllowChange: Boolean;
FDataLink: TFieldDataLink;
function GetDataField: string;
function GetDataSource: TDataSource;
procedure SetDataField(const Value: string);
procedure SetDataSource(Value: TDataSource);
protected
{ Protected declarations }
public
{ Public declarations }
constructor Create(Aowner: TComponent); override;
destructor Destroy; override;
published
{ Published declarations }
property DataField1: string read GetDataField write SetDataField;
property DataSource: TDataSource read GetDataSource write SetDataSource;
end;

procedure Register;

implementation

//-------------------
uses DesignIntf, DBReg; <-----------提示找不到DBReg
//------------------- 字串6

constructor TREdit.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FDataLink:=TFieldDataLink.Create;
FAllowChange:=True;
end;

destructor TREdit.Destroy;
begin
FDataLink.OnDataChange:=nil;
FDataLink.Free;
inherited Destroy;
end;

function TREdit.GetDataField: string;
begin
Result:=FDataLink.FieldName;
end;

function TREdit.GetDataSource: TDataSource;
begin
Result:=FDataLink.DataSource;
end;

procedure TREdit.SetDataField(const Value: string);
begin
FDataLink.FieldName:=Value;
end;

procedure TREdit.SetDataSource(Value: TDataSource);
begin
FDataLink.DataSource:=Value;
end;

procedure Register;
begin
RegisterComponents('Astar', [TREdit]);
//------------------------------------
RegisterPropertyEditor(TypeInfo(string), TREdit, 'DataField1', TDataFieldProperty); <-------不要DBreg,提示找不到TDataFieldProperty
//------------------------------------

字串8


end;

end.

Delphi2005下如何解决??????
如果要两个以上的DataField,如何写???

2楼: 问题也太不明确了吧

3楼: Borland\BDS\3.0\source\Win32\db\DBReg.pas
Borland\BDS\3.0\source\Win32\Property Editors\DBReg.pas

4楼: to zjan521
写了路径也不行啊!!

5楼: 加入环境里试试

6楼: 找到DBReg.pas所在的目录,然后加在BPL的选项的Search Path中

7楼: 设了所有的路径,不管用!!如家 居 管理系统 delphi

8楼: 不可能吧。你把路径 ***\Borland\BDS\3.0\source\Win32\db 添加到Win32->Lib Path,不可能不起作用.或者你可以把此文件复制到你自己的工程的目录下边,并且把此文件添加到项目中.至少编译是应该通过的.不过因为实际上DBREG.pas是Delphi当中已经内置的某个bpl的组成部分。因此实际上你应该添加对于相应的bpl的引用。

9楼: 全都设过了,设定***\Borland\BDS\3.0\source\Win32\db 之后又要别的,全部设了之后,要了一个根本不存在的!就没办法了

10楼: 不过因为实际上DBREG.pas是Delphi当中已经内置的某个bpl的组成部分。因此实际上你应该添加对于相应的bpl的引用。
在你的包的require当中添加dcldb90.bpl.

11楼: 加入了dcldb.dcp后成功!!!谢谢zjan521!!!

12楼: