---------------------------------------------------------------------------------------
type
TUserLogin = class(Tcomponent)
private
FDataName:String;//数据库名
Function FindFileName:String;//数据库路径查找
published
Property DataName:String read FindFileName write FDataName;
end;
-----------------------------------------------------------------------------------------
function TUserLogin.FindFileName: String;
var
OpenFile:TOpenDialog;
begin
OpenFile:=TOpenDialog.Create(nil);
try
OpenFile.Filter:='*.*|*.mdb';
OpenFile.DefaultExt:='mdb';
OpenFile.InitialDir:=ExtractFilePath(Application.ExeName);
OpenFile.Title:='请选择数据';
if OpenFile.Execute then
Result:=OpenFile.FileName;
finally
OpenFile.Free;
end;
end;
---------------------------------------------------------------------------------------
我的目的:
通过FindFileName获得所选数据库名的路径及文件名,并显示在属性FDataName中,如果没有选择,则不执行FindFileName方法
---------------------------------------------------------------------------------------
出错情况:
当我的鼠标出现在object Inspector上时,就出现执行FindFileName代码,但我这个时间不需要执行这个方法,要在点击属性FDataName时才,才执行这个方法。
----------------------------------------------------------------------------------------
求救:
请哪位大侠给个提示,看看我的错误到底出在哪里,如有源码更好,谢谢!
type
TUserLogin = class(Tcomponent)
private
FDataName:String;//数据库名
Function FindFileName:String;//数据库路径查找
published
Property DataName:String read FindFileName write FDataName;
end;
-----------------------------------------------------------------------------------------
function TUserLogin.FindFileName: String;
var
OpenFile:TOpenDialog;
begin
OpenFile:=TOpenDialog.Create(nil);
try
OpenFile.Filter:='*.*|*.mdb';
OpenFile.DefaultExt:='mdb';
OpenFile.InitialDir:=ExtractFilePath(Application.ExeName);
OpenFile.Title:='请选择数据';
if OpenFile.Execute then
Result:=OpenFile.FileName;
finally
OpenFile.Free;
end;
end;
---------------------------------------------------------------------------------------
我的目的:
通过FindFileName获得所选数据库名的路径及文件名,并显示在属性FDataName中,如果没有选择,则不执行FindFileName方法
---------------------------------------------------------------------------------------
出错情况:
当我的鼠标出现在object Inspector上时,就出现执行FindFileName代码,但我这个时间不需要执行这个方法,要在点击属性FDataName时才,才执行这个方法。
----------------------------------------------------------------------------------------
求救:
请哪位大侠给个提示,看看我的错误到底出在哪里,如有源码更好,谢谢!
解决方案 »
- 求助:在 fastreport 报表中,怎么设置选择哪种打印机?谢谢!
- 怎么远程管理MDB文件
- delphi的工程(Project)如何改名字呢?
- 动态链接库里经常出现无效的指针操作???
- 调用CHM帮助文件时,如何定位对应功能的帮助页?
- 平时用工具开发软件,突然公司进行一次纯结构化编程考试,结果好残,有兴趣的过来聊几句。
- 怪事,不管怎么设dbgrideh中的下列列表按钮就是不出来
- 问一个小小问题:在SQL SERVER中的存储过程中,是不是表变量不能定义成output输出变量?如能,应如何定义?
- 用NMPOP3构件接收.zip文件,解压出问题
- 哪有Kylix下载?
- listview reporttype时画表头问题
- Unicode如何输入并保存到SQLserver数据库
你所得的结果是必然的属性自动读写的http://lysoft.7u7.net
var
OpenFile:TOpenDialog;
begin
OpenFile:=TOpenDialog.Create(nil);
try
OpenFile.Filter:='mdb文件|*.mdb';
OpenFile.DefaultExt:='mdb';
OpenFile.InitialDir:=ExtractFilePath(Application.ExeName);
OpenFile.Title:='请选择数据';
if OpenFile.Execute then
Result:=OpenFile.FileName
else Result:='';
finally
OpenFile.Free;
end;
end;另外我很奇怪的是你为什么要自己创建而不用现成的opendialog控件呢
var
OpenFile:TOpenDialog;
begin
OpenFile:=TOpenDialog.Create(nil);
try
OpenFile.Filter:='mdb文件|*.mdb';
OpenFile.DefaultExt:='mdb';
OpenFile.InitialDir:=ExtractFilePath(Application.ExeName);
OpenFile.Title:='请选择数据';
if OpenFile.Execute then
Result:=OpenFile.FileName
else Result:='';
finally
OpenFile.Free;
end;
end;另外我很奇怪的是你为什么要自己创建而不用现成的opendialog控件呢
property DataName: string read FDataName write FDataName;
公布读函数
Function FindFileName:String;//数据库路径查找
TUserLogin = class(Tcomponent)
private
FDataName:String;//数据库名
procedure SetFileName(value:String);//数据库路径查找
published
Property DataName:String read FDataName write SetFileName;
end;procedure TUserLogin.SetFileName(value:String);//数据库路径查找
var
OpenFile:TOpenDialog;
begin
OpenFile:=TOpenDialog.Create(nil);
try
OpenFile.Filter:='mdb文件|*.mdb';
OpenFile.DefaultExt:='mdb';
OpenFile.InitialDir:=ExtractFilePath(Application.ExeName);
OpenFile.Title:='请选择数据';
if OpenFile.Execute then
FDataName:=OpenFile.FileName
else FDataName:='';
finally
OpenFile.Free;
end;
end;因为FDataName是string类型,所以只有当年改动那个值时才会出现对话框。最好是用自己的类型,注册自己的编辑器,用起来自然一些。