做开发,就是发现问题,解决问题,又发现问题...周而复始的循环
下面又应该是Firemonkey下的bug。
官方文档中描述:
Using the FireMonkey TMenuBar's OSMenu Property to Place Your Main Menu for Windows and Mac。
But, 在XE4中 根本找不到OSMenu这个属性。
测试后发现,
TMenuBar在Mac下无法实现Mac风格;
而TMainMenu则可以;
但是问题并没有就此结束,
如果TMainMenu没有添加Item,则一切正常;但是一旦有Item后,运行在Win下,竟然出现了除零错误。
原因在于进行了SetMartix的坐标变换,导致LineLength := 0;
不过具体细节还没有深究,应该是Item项的增加影响了代码的流程,导致了这个问题的出现。
另外一个问题还需要注意:
TMainMenu的Item无法给MacOS动态添加,而在Win下表现正常。
吐槽一下:跨平台是一个伟大的梦想,只是今天我们离它又近了一步,期待XE5的到来吧