在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
这两天遇到问题,我们的FMX项目,其中一个功能在windows上运行正常,在Android上不正常。 查到最后,竟然是同事没有处理一个函数的返回值造成的。 function Test(aName:string):TObject; var o:TObject; begin ... if aName='123' then begin o:=TObject.Create; result:=o; end; end; 类似上面的代码,当aName<>123时,在windows上,返回nil,而在android上,则返回非nil。下面是调用代码: ... if Test('123')=nil then begin ... end; 最后,修正如下: function Test(aName:string):TObject; var o:TObject; begin result:=nil;//修正. ... if aName='123' then begin o:=TObject.Create; result:=o; end; end; 印象中写过有大牛写过,必须养成处理函数默认返回值的习惯。这回被现实上了一课! |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论