当我在TStyleBook
中加载样式文件时,外部组件会出现问题。
我可以编辑默认样式,或者使用TStyleBook
为外部组件创建新样式。如果组件直接位于TForm
内部,则可以工作。
由于外部原因,我不能这样做,我需要从.style
文件加载TStyleBook
:
procedure TForm1.FormCreate(Sender: TObject);
begin
StyleBook1.LoadFromFile('C:\test.style');
end;
字符串
如果它包含一个外部组件(而不是一个内部的 Delphi 组件,如TLabel
,TPanel
,..),我得到一个错误
我的样式文件内容:
object TStyleContainer
object TLayout
StyleName = 'htlayout'
Align = Client
object THtLabel
Align = Client
Text = 'aaaa'
end
end
end
型
在这个函数中出现错误(来自System.Classes
):
function TReader.FindComponentClass(const ClassName: string): TComponentClass;
型
其中ClassName = 'THtLabel'
,如果组件是在TForm
上,这是可以的,但如果它来自一个样式文件,我得到了一个ClassNotFound
。
当ClassType
是TStyleContainer
时,GetFieldClassTable(ClassType)
返回nil。
1条答案
按热度按时间gj3fmq9x1#
好的,解决方案是注册类:
字符串