ffb's profile代码冲动PhotosBlogListsMore Tools Help

Blog


    代码错位问题,注意QQ那个家伙

    用VC7.1(VisualStudio.Net 2003)写程序的注意了,如果代码是从QQ窗口里粘贴过来的,有可能导致断点调试的时候代码错误,而且怎么重新编译也不行,而且从代码编辑窗口里看不出任何问题,想解决很难。今天终于有了发现,如果代码是从QQ窗口粘贴过来的,就会这样,解决方法是记住哪里是粘贴的,全部剪切掉,粘贴到记事本里再全选复制粘贴回VC就好了。可能是QQ的聊天窗口里加了某些不可见字符,或者是QQ窗口的编码方式和VC默认的不一致导致,具体加班结束后可以试试看,应该是编码问题。
    还有,MSNSpace写blog的时候标题栏竟然不能粘贴数据,诡异

    数字电视菜单的BUG

    最近又发现数字电视菜单的BUG。
    遥控器有个“Last”功能,可以切换刚刚播过的一个台,在按过这个键后出现节目内容的对话框的时候,这个对话框是三秒后自动关闭,或者按遥控器的OK键关闭。BUG是,如果按OK键关闭了对话框,则再怎么按Last键都是当前频道,刚刚播过的那个频道它忘记了。。。
    还有一个BUG,或者是设计的很不好的地方,就是数字电视(看起来)非常好的收藏夹功能,首先有个BUG就是收藏夹菜单按不出来,一闪菜单就没了,后来经过反复试验发现在闪出来那一瞬间迅速按方向键,菜单就可以停在屏幕上了。然后是如果选择了收藏夹中的菜单,则按数字键播台等正常功能全部不能用,而且切换会电视模式也会切换回使用收藏之前的频道,设计的非常的愚昧,让人不可思议,无法理解。。。

    忘记下载

    前些日子登录淘宝网的时候,提交用户名密码之后竟然出现了验证那个页面(jhtml)的下载提示,我无意识的点击了取消,刷新重试,又是下载提示!我又点击了取消(没办法,手太快)。忽然觉悟这可能是个漏洞,因为一般服务器出现问题的时候可能会导致并没有对服务器端页面进行解析而被当做非页面文件进行下载操作,这样等于就得到了页面的源代码,而拿到源代码本身就是很有乐趣的事情,可是再次试验的时候却正常登录了。后来怎么试验也没有这个问题了。
    看来自己缺少黑客那种敏锐的感觉。
    大约去年年初的时候,浏览一个旅游网站的时候,忽然发现他的数据库连接字符串写在页面的Title上,便依照它找到了数据库文件的地址并下载下来,是一个30MB的access数据库,里面至少有几千个注册用户的详细资料,最有意思的是,那个论坛制作的时间比较早,所有的密码都是明文保存的!看了一遍,发现用生日或者电话做密码的人占绝大多数,然后试验了他们的Email、QQ等,发现这些软件使用相同密码的人也是非常的多^_^。
    过了大概一个月,那个页面的连接字符串终于去掉了。但是数据库地址没变,我一直都可以下载。。。

    可歌可泣的SQL错误提示

    看这个巨酷的SQL错误提示,让我们为这个事务的大无畏精神喝彩:
    Microsoft OLE DB Provider for SQL Server 错误 '80004005'
    事务(进程 ID 170)与另一个进程已被死锁在 lock 资源上,且该事务已被选作死锁牺牲品。请重新运行该事务。
    /Expert/ForumList_Search.asp,行 191

     
    出现自http://community.csdn.net/expert/forum.asp
     
     

    '打开文件'对话框的乱码问题

    今天自己发现的bug,我的DLL中用如下代码打开‘打开文件’对话框 

    CFileDialog fd(FALSE, NULL, m_PolFileName, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "XML Files (*.xml)|*.xml");

    ’文件类型‘选择列表中除正常的*.xml选项外出现若干条乱码选项(数量1-5条),跟踪了一圈没有发现任何问题,文件名称也尝试了char数组和CString等多种方式均无效,最后一次试验中,尝试在|后加了\0分隔符,如下:

     CFileDialog fd(FALSE, NULL, m_PolFileName, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "XML Files (*.xml)|\0*.xml");

    惊讶的发现问题解决了,然后又试验了一下,发现只有\0加在|后面的时候一切正常,否则还是乱码。

    查MSDN,解释如下:

    The lpszFilter parameter is used to determine the type of filename a file must have to be displayed in the file list box. The first string in the string pair describes the filter; the second string indicates the file extension to use. Multiple extensions may be specified using ‘;’ as the delimiter. The string ends with two ‘|’ characters, followed by a NULL character. You can also use a CString object for this parameter.

    原来应该是这样的格式:

     CFileDialog fd(FALSE, NULL, strFileName, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "XML Files (*.xml)|*.xml||");

    双||结尾,搞定!

    环境:VC6 SP6中文企业版+VAX,Win2000ServerSP4补丁全(装有Vs2003中文企业架构版,.Net框架1.1,Office2003等)

    软件Bug记录

    前段时间自己的软件(DLL)在测试中出现Bug,列表中的内容(不一定中文)乱码。最后经过测试经理反复测试,终于发现是和3721网络实名冲突,卸载3721后一切恢复正常。

    我的列表中的内容是通过PostMessage传递的,也许是3721拦截Windows消息或者HookDll的时候还原的处理有某种问题造成。

    对3721再次致以最高BS。

    VC6最不爽的bug

    最不爽的一个IDEbug莫过于工具栏错位的问题了。

    重现:VC的工具栏多选出几个出来然后自己排列好,VC会自动保存设置,下次启动还是你设置的这些工具栏,并且位置也会是上次的位置(微软的软件共有的基本功能)。新建一个对话框项目,F5运行,然后最小化VC窗口,退出这个正在运行的程序,还原VC窗口,发现所有的工具栏的位置都被重新按行排列了。

    关键:程序退出的时候VC是最小化状态就会发生这种情况

    后果:每次都要小心提防VC不要被无意最小化,不然那么多工具栏又要自己一个一个重新放一次...

    版本:VC6.0En+SP6+VAX

    发现金山词霸2005一个错误

    发现金山词霸2005一个错误
    金山词霸2005+SP1的度量衡表里:

    CONDITION                            FAHRENHEIT               CELSIUS
    条件                                                 摄氏                    华氏
     
    Boiling point of water水的沸点         212°                        100°
    A very hot day炎热天气                  104°                        40°
    Normal body temperature正常体温   98.6°                       37°
    A warm day暖热天气                      86°                          30°
    A mild day温暖天气                        68°                          20°

    “摄氏”、“华氏”的中文译名写反了

    最近半年使用中碰到的VC的bug

    最近半年使用中碰到的VC的bug:
    1.如果设置的热键和原来的冲突,即使取消,原来的也回不来了。比如CTRL+方向键左右是按照单词移动光标,如果你设置了别的热键,如ListMember是CTRL+右,那以后即使取消这个热键,也就永远不能按照单词右移动了。(不确定是否是VAX引起)
    2.debug方式运行一窗口程序A,最小化VC6窗口,退出程序A,还原VC6的窗口,发现VC6的工具栏位置全部丢失,而变成竖向重新排列了。
    版本:VC6.0英文企业版+SP6+VA X