zoukankan      html  css  js  c++  java
  • 文件浏览问题之三

    时间:14:09 2010-8-28

    环境:
    开发环境:VS2008 +XAML2CPP.EXE + SWE 2 + BLEND 2
    运行环境:WINCE 6.0 R3
    硬件加速: DirectX

    UI 其只是外围,其只是显示很信息.==>UI 其只能做自己最能做的事情。为别人留一点生存空间,也让自己多享受一下生活。

    在处理字符串的时候,遇到
    char *pAnsiString = new char[nSize+1] 的问题。其是要由谁来DELETE.
    在这里我们可以使用std::string ,或者是CString 来管理.
    std::string ,CString 其所产生的原因:
    1. 解决 new ,delete的经典问题
    2. 方便字符串的操作

    今天才算初步认识string。希望今后对其有更多的好感。

    问题:
    明明创建了N 个控件,但实际显示的数目小于N, 其有可能这个N控件的Name 属性相同。
    SWE将Name相同的控件当作同一个控件处理,所以出现这样的结果。
    解法:将Name设置不相同就可以了。

    问题:
    很路径path = \*.*, 为什么找不到 临时文件夹呢(如NAND FLASH ,NETWORK) 
    但指定路径,其能够找到.
    ==> 原因路径还是写错了,写成了path=\\*.*

    先做一个完整文件浏览器。然后再添加过滤的功能。
    现在要完善:
    1. Card ==>  类型的特点
    2. 将存放Card的网格,写成一个自定义控件

    时间:10:03 2010-8-30

    问题:
        将一个网格控件写成一个自定义控件,我们将遇到哪些问题呢。分析流程然后在思考其的编写过程。
    此网格控件要EXPOSE 哪些接口呢。
        用户其只是关心其能够显示元素,而不关心其具体是怎么样来显示元素的。==> EXPOSE 增加元素的接口,其就可以了。

    自定义控件的相关类定义成TEMPLATE

    在此处失败的原因:
           if (FAILED(retcode=app->CreateHostFromXaml(&xamlsrc, &wp, &vhost)))
                return retcode;
    出错代码:
    -2142830490

    解法:
    其是关于XAML文件的错误,采用排除法,在我的项目当中是:因为添加了自定义控件而引进的错误,我删除此控件,然后又重写了一个控件。

    其出错的原因:
      static HRESULT Register()
      {  
    return XRCustomUserControlImpl<A,B>::Register(__uuidof(B), L"Browser", L"clrnamespace:ImageBrowserPro");
      }

    对于Register的设置,其是根据其的UserControl 的x:Class来进行的设置
    <UserControl x:Class="ImageBrowserPro.Browser" />

    -2142830380
    此出错代码是因为
    if (FAILED(retcode=root->FindName(L"MyGridControl",&MyGridControl)))
               return retcode;
    有关的。没有找到此UI ELEMENT.

    突想:
        SWE其所提供的UI与LOGIC 分离是一种什么样形式呢,特别对于DEVELOPER来而讲,又特别对于之前使用MFC开发人员而讲,其的优势在哪里呢.
        DEVELOPER其还是要关注UI,但其不要关注UI具体长得什么样,其只要知道有这样一个东西就可以。

    问题:
        遇到了创建多个自定义控件,但其只是显示一个。
    解法:
        在我的项目当中:因为所创建的自定义控件的NAME 均是一样的( 自定义控件的X:NAME="XXX",且自已在创建的时候,也没有使用SetName 设置),所以我们只要将NAME设置为不同就可以。
        最为简单: 将XAML当中的X:NAME 删除。

    做事要有前瞻性。

    问题:
        复制一个项目文件,打开备份的,能编译通过但出现不能调试的情况。
    解法:
        重新生成解决方案

    SetContent 模型:
    Content Control 其是一个载体。其是用于显示其它内容的。
    哪些是Content Control

    IXRButtonBase
        IXRButton
        IXRRepeatButton
        IXRToggleButton
    IXRListBoxItem
        IXRComboBoxItem
    IXRScrollViewer
    IXRToopTip

    视图层已经了解了,接下来的问题是:流程的编写,流程的管理与控件,流程的复用

    在模式当中,我们一般会是使用Dependency injection (DI) pattern.

    类似工厂函数之类的写法是值得学习的

  • 相关阅读:
    C#中AppDomain.CurrentDomain.BaseDirectory及各种路径获取方法
    Windows 2008 server R2安装.NET Framework4时提示“灾难性故障”
    Mysql explain执行计划
    解决Linux c语言运行时候“段错误 (核心已转储)”问题-采用gdb 解决
    udp-->socket通信原理
    udp通信的原理---makefile文件
    c语言知识点
    linux系统man命令用法和安装方法
    <linux系统c语言生成.so文件,生成64位可执行文件,在64位系统中运行32位的可执行文件>
    ubuntu系统无eth0网卡解决办法
  • 原文地址:https://www.cnblogs.com/pengxinglove/p/1815208.html
Copyright © 2011-2022 走看看