使用最终应用程序发送组件的自定义设置

时间:2012-06-22 05:47:50

标签: delphi resources delphi-7 custom-component

我正在Delphi-7处理基本上创建zip文件并具有5个功能的组件(如下所示)

1]文件夹

2]图片

3]文本文件

4]在Application目录或应用程序数据目录

中创建zip文件的文件夹

5]是否创建Zip文件

该组件将被删除到表单。现在我有另一个应用程序( settingAppl ),用户可以从中实际决定为组件启用任何5功能。 由于我已在registry中保存了用户选择的设置,因此一切正常。我使用了一个DAT文件About.com_fileof_delphi而不是使用注册表(我不确定是否一个好主意发送注册表* .reg), settingAppl 将写入5个设置。我需要使用具有该组件的应用程序发送该文件,以便它可以读取5个设置。

有没有办法可以直接将5个设置设置到组件中,因为如果应用程序目录中缺少该文件我该怎么办?

像Eureka log一样,任何人都可以告诉我如何做类似的事情吗?这意味着当我们在eureka日志中设置设置时,程序员不必包含/发送文件以及最终应用程序

enter image description here

1 个答案:

答案 0 :(得分:2)

经过@david和@Ken White的想法 (这比我想到的想法简单得多......也更好(方式))。我将published属性引入到这个组件中

private
  { Private declarations }
  FFolderzip  ,Fimagezip,Ftextzip      : Boolean;
  FMessagebo : string;
published
   { Published declarations }
   {component Properties}
   {#1.Folder Zip}
   property ZipFolder : Boolean read FFolderzip  write FFolderzip  default False;
   {#2.Send imagezip ?}
   property ZipImage : Boolean read Fimagezip   write Fimagezip   default False;
   {#3.text files}
   property ZipText : Boolean read Ftextzip   write Ftextzip   default False;
   {#4.message}
   property ZipMessage: String read FMessagebo write FMessagebo ; 
    ....
 end;

然后访问属性

   procedure TForm1.Button1Click(Sender: TObject);
    var
       bZipFolder,bZipImage,bZipText: boolean;
       sMessage : string;
   begin
       bZipFolder:=zipperCom1.ZipFolder ;
       bZipImage :=zipperCom1.ZipImage; 
       bZipText  :=zipperCom1.ZipText; 
       sMessage  :=zipperCom1.ZipMessage;
    end;

额外参考资料来源: -

1] ADDWriteToReadOnlyProps

2] Delphi-property