-1

需要验证通过主题中提到的技巧可以轻松解决的新需求。

除了顾问所说的肮脏的认识之外,他还允许我们使用肮脏的分配。

所以我开始,在一个 BADI 方法中,让两个脏分配正常工作。

一种是分配一个不引用 GUI 对象的对象,另一种是仅分配一个数据表。两者都驻留在同一个其他程序中。

现在我想从同一个程序的 ALV 网格之一中分配一个字段符号。

SY-SUBRC返回0,但后面的字段符号指向INITIAL。我可以想象,就安全性而言,这是不允许的。

无论如何,我只是在这里要求对我的假设进行确认或更正。

4

2 回答 2

0

使用脏分配通常是一个非常糟糕的主意,因为它至少违反了软件设计的两个原则(封装和接口),因此可能会损害安全性和健壮性领域。对于使用脏分配时可能出现的问题的一些解释,您可以阅读我的这个博客必须保留协议

于 2017-05-31T08:23:03.950 回答
0

据我所知,它与安全无关。有一些技术可以避免脏分配的可能性,但这是另一回事。当定义为全局时,对 GUI 控件的引用仍然作为正常的、可访问的变量保留在那里,但这些可以在一段时间后初始化。

查找官方CFW 文档以支持我,他们在那里写道:

控件的生命周期由生命周期管理来调节。当不再需要时,生命周期管理会自动销毁前端的控件。应用程序当然也支持控件的显式销毁。

因此,这意味着服务器端对 GUI 控件的引用可以由处理程序显式或由系统本身自动清除、初始化(类似于“垃圾收集器”)。

有关控件生命周期的更多信息,请点击此处

于 2017-04-30T05:51:36.920 回答