看大家说了这么多,我明白了,永久版是一个正式的版本,高级版是这次推出的一个新的版本。
但是同样的一个问题来了。
不知道别人或者大众怎么看待这个事情,我自己个人理解也许会有些偏激,但是我还是想请教一下各位大大看看我自己的看法是否正确。
如果当时没有承诺所谓的三年免费升级,我可能理解的意思就是一榔头买卖,买回来就是这个东西。但是由于有了免费升级这个承诺,我就觉得既然是你的软件功能升级,我也理所应当享有这个升级之后的功能。(暂且不讨论我这个菜鸟能不能用得上这个功能)但是,官方发布文件之前,可能意识到了该功能的商业价值,为了获取更多的商业利益,更加细分已经占有的市场,就推出了所谓的高级版本或者类似于增值服务一类的东东来刺激消费。我个人当然不反对这样的营销策略,但是这样做真的就是一条正确的路径吗?这样做的影响可能真的对FOXTABLE的名誉会产生那么一点点的伤害。也许FOXTABLE的各位大神非常不在乎这样的所谓名誉损失,因为它能带来更多的眼前利益。
可是,各位大大们,你要知道从一个不懂FOXTABLE的人成为一个能用FOXTABLE写出东西的人,这里面不简简单单是钱的问题,这些人他们不仅仅付出了钱,还付出了精力,时间,他们要学习这个融汇贯通了多种编程语言的软件,才能用它实现各种各样的功能。看着这些人用FOXTABLE做出东西,相信各位大大们也是非常有成就感的吧。也许有的人是既得利益获得者,用开发出来的产品能赚取一定的费用,但是我相信更多的人是兴趣使然,也是这些人让各位大大有了工作的动力和信心。但是这些支持者真的不能简简单单用来宰割,如果FOXTABLE企业有战略性调整,还请麻烦照顾一下这些信徒们,别人他们伤了心,他们肯定会用自己的行动来支持FOXTABLE的。
当然,话有两说,另外一方面,就我个人而言,如果你是在我所购买的产品基础上推出一个低一个级别的功能受限的新版本我当然不会多说什么,但是你如果是在我所购买的产品版本基础上只是多了一个功能,却明确标识是一个完全不同的版本,我当然难以接受了。自私是人的通有劣根性,这点大家都要承认,谁都不能例外。所以如果你推出一个OPENQQ或者UDP版本的专业开发环境,而限制一部分普通开发版里的功能,这样大家心里可能就容易平衡的多,这样狐爸就可以顺理成章的推出一款完全开发版,相当于将OPENQQ或者UDP版和普通开发版的功能整合版本。其实道理很简单,不要让大家先知道你要出哪个版本,这个道理等同于BBA的汽车销售,就好像同样的车同样的硬件通过软件的以及配件的改变,就能得到不一样的功能。比如保时捷的帕拉梅拉,弹射起步功能只需要增加一个按键就可以实现,4S却说是需要增加sport plus套件,加价将近20W,淘宝售价却超不过1000,回来以后照样能用。道理一样的,如果软件好用,多事之人就能看到价值,各位大大们总不会坐以待毙吧,你们是高手不错,但是我们不是,不要把信徒变成了普通消费者,水能载舟亦能覆舟这样的道理相信你们懂的。
这次升级大家可能都看到了,最大的亮点就是OPENQQ和UDP通信功能。但是呢,OPENQQ限制人数以后更多的像个试用版。UDP功能更是很多人都没有见过的东西。
我就好奇了,软件的是小BUG为什么不能解决,却要把亮点功能着急推出来??
就上次那个.LOADTOP="100 PERCENT"
这句 升级2016之后还不是照样出错,照样要重启FOXTABLE才能继续使用。
.NET Framework 版本:2.0.50727.8662
Foxtable 版本:2015.10.26.1
错误所在事件:加载[表A]失败!
详细错误信息:
System.Data.OleDb.OleDbException: 关键字 'From' 附近有语法错误。
在 System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr)
在 System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
在 System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
在 System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
在 System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
在 System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior)
在 System.Data.OleDb.OleDbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
在 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
在 System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
在 System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
在 Foxtable.DataTable.o_oo_oO_(OleDbDataAdapter A_0)