Firemonkey的旁门左道[四]

做开发,就是发现问题,解决问题,又发现问题...周而复始的循环


下面又应该是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的到来吧

   




原文地址:https://www.cnblogs.com/pangblog/p/3260636.html