Delphi Tokyo Release 2中标记procedure of object为Deprecated报错如何解决?
解决Delphi Tokyo中标记过程类型为已弃用的语法问题
你遇到的E1030 Invalid compiler directive: 'DEPRECATED'错误,是因为在Delphi Tokyo(10.2)中,不能直接把deprecated修饰符像你那样附加在过程类型的声明末尾,这种写法不符合Delphi的语法规则。
要正确标记这个过程类型为已弃用,有两种可行的写法:
写法一:在类型声明上方使用{$DEPRECATED}指令
直接在类型定义前添加带提示信息的编译器指令:
type {$DEPRECATED 'Please listen for the FIRMessagingConnectionStateChangedNotification NSNotification instead.'} FIRMessagingConnectCompletion = procedure of object;
写法二:在类型声明后指定目标类型的{$DEPRECATED}指令
如果需要更明确地指定被弃用的类型,可以在类型定义完成后单独标记:
type FIRMessagingConnectCompletion = procedure of object; {$DEPRECATED FIRMessagingConnectCompletion 'Please listen for the FIRMessagingConnectionStateChangedNotification NSNotification instead.'}
这两种写法都能让编译器识别该类型已弃用,当代码中使用FIRMessagingConnectCompletion时,编译器会弹出警告并显示你设置的提示文本。另外要确保编译器的警告功能是开启的(默认是启用状态,若未开启可通过{$WARNINGS ON}指令手动开启)。
内容的提问来源于stack exchange,提问作者zeus
相关产品推荐
相关产品推荐

