不知道有没有人像我这样无聊总是想开发跨平台应用软件,的确是一件很辛苦的事情,特别是linux平台,有着很多奇怪的事情,mac相对好一些。
现在测试下来,realbasic还算是一套不错的工具软件,不过还是发现一个有趣的事情。
如果在ubuntu下画的PushButton,到了mac下看上去很奇怪,因为不是mac下面默认的那种两边圆圆的带有glass效果的按钮,而是普通的矩形按钮。于是我在mac下面做了个只有一个按钮的程序,编译后放到ubuntu,找到问题了,因为这个按钮在ubuntu的gtk下显得很矮,只能看到一半的字。于是我到mac下面把按钮拉高一些,glass按钮就变成了矩形按钮,原来mac osx下比glass按钮大的就是矩形按钮了。问题原因是找到了,不过还是一件麻烦的事情。如果是在mac下开发,到ubuntu下面按钮上的字就会看不清,如果在ubuntu下面开发,到mac就看不到漂亮的按钮。现在能够想到的办法是判断操作系统,自动调整按钮高度,不知道realbasic下面有没有遍历控件的语法。
跨平台开发的确不是一件容易的事情。

所以说,平台的统一可能对程序员来说是好事,不过统一是不太可能了。现在软件模型应该更多的考虑平台无关性,包括中间件的发展,都是这个目的,这里的问题就是效率必然会低一些的。
我发现在ubuntu在把按钮的高度调整到20,好像可以两全。
实际上,windows,linux,mac这几个操作之间的斗争估计还要延续很长的一段时间。web环境也没有好多少,ie,ff,safari,opera这些谁都不买帐。
可不是,web还好一些了,毕竟web页面只是显示问题,可是应用软件就不同了,差别很大的。所以我一直追捧的就是BS系统,现在这种系统发展也越来越快了
目前browser和传统桌面程序其实发展都很快,以后更有可能的就是智能客户端,永远在线后很多东西的界限将会模糊。
> 到mac下面把按钮拉高一些,glass按钮就变成了矩形按钮,
> 原来mac osx下比glass按钮大的就是矩形按钮了。
这个是Mac OS X10.5的原因。再10.4及之前的版本不会这样。在10.5中普通圆形按钮的高度有限制,超高后会变斜面按钮,解决方法是再Open事件中:
#if TargetMacOS then
PushButton1.Height=22
#elseif TargetLinux then
PushButton1.Height=30
#endif
楼上高手,谢谢!