- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
unit MyFirstUnit;
uses MyTranslateUnit;
...
sText := Dictionary('text to translate', UnitName);
...
end.
unit AnotherUnit;
uses MyTranslateUnit;
...
sText := Dictionary('new text to translate', UnitName);
...
end.
unit MyTranslateUnit;
function Dictionary(sTextToTranslate: string; sUnitName: string)
begin
// Here I need the UnitName of the caller
Result := ...
end;
end.
function Dictionary(sTextToTranslate: string)
最佳答案
只要调用发生在类的方法内部,你就可以简单地写 UnitName
.每一个德尔福TObject
提供 class function UnitName: string;
它给出了类在其中声明的单元的名称。
这不会给您省略第二个参数的可能性,但它简化了单元重命名或代码在单元之间复制或移动时的维护。
编辑:有一个真正肮脏的技巧可以在没有第二个参数的情况下完成这项工作,并且它也只能在类的方法中工作。我建议仅将其用作最后的手段!删除一个参数的好处很容易在 future 适得其反。
为 TObject 声明一个类助手,如下所示:
type
TRealDirtyDontDoItObjectHelper = class helper for TObject
public
class function Dictionary(const sTextToTranslate: string): string;
end;
implementation
class function TRealDirtyDontDoItObjectHelper.Dictionary(const sTextToTranslate: string): string;
begin
{ whatever implementation should go here }
Result := UnitName + ': ' + sTextToTranslate;
end;
Caption := Dictionary('title');
UnitName
给出方法所属类的声明单元。请注意,这意味着当前实例的类,而不一定是声明方法的某个继承类。
TObject
继承的。 .
关于Delphi:获取调用者函数的UnitName,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49274168/
我有一个看起来像这样的通用 DAO 类: public class GenericDaoJpa implements GenericDao { private final Class typ
当我尝试到达特定端点时,出现异常,提示“无法检索 unitNameparent_module 的 EntityManagerFactory” 但是,由于我在模块上构建了项目,因此出现此错误。当我将所有
这是我第一次尝试实体 bean,我反复收到以下错误: java.lang.IllegalStateException: Unable to retrieve EntityManagerFactory
我正在做一个项目,到目前为止进展顺利,直到我检查了另一个团队的最新更改,以处理最新的文件(不要专注于那个文件)。我正在使用 Tomcat OpenEJB 3.1、JPA 和 Hibernate 3.2
在我的 Eclipse 动态 Web 项目中,我使用 JPA。我已经在 TomEE 服务器下的 tomee.xml 中创建了连接,并且工作正常。我创建了一个 persistence.xml 文件,如下
这是来自堆栈跟踪的(底部)错误: Caused by: java.lang.IllegalStateException: Unable to retrieve EntityManagerFactory
我是 JavaEE 新手,目前正在学习 JavaEE7。我安装了 JavaEE7 并下载了 NetBeans 8.0.2,因此我可以通过此处发布的网络研讨会来关注: https://www.youtu
我需要执行新工作的测试任务,但我似乎处于昏迷状态。我在持久性上下文方面有一些问题。我使用 Glassfish 3 和本教程:http://uaihebert.com/?p=834 jdbc/CrudD
我在这里和网上看到了一些关于此的问题,但它们似乎与我收到的错误消息不太相符。 我一直在我的代码中使用 JPA 注释来处理数据库。我使用@PersistenceContext 注释来配置实体管理器。在我
我正在尝试通过制作项目来学习 JSP 和 servlet。我的目标不是关注 JPA、ORM 和持久性甚至现在是 EJB。所以,请不要告诉我阅读有关它的教程或书籍。不幸的是,我不应该使用 SQL 查询与
我希望有人能帮助我解决一个非常令人沮丧的问题。 我想使用 Arquillian 来测试我正在开发的 Web 应用程序,但我很难尝试让 JPA 测试运行。我是 Arquillian 的新手,我必须承认我
在 Delphi 中,创建 ActiveX 控件曾经比现在更流行。然而,仍然可以使用 Delphi 创建 ActiveX 控件。本题假设Delphi 2007,但无论您使用什么Delphi版本,它都应
我是一名优秀的程序员,十分优秀!