一个与X:Name 有关的错误
时间: 9:12 2010-8-24
背景:
昨天已经完成图片浏览器的界面的制件部分,按计划今天要完成后台设计.
原则:
在使用SWE的过程考虑,其是怎么样实现BITBLT的功能,又是怎么样方便用户的使用.
难点:
之前使用bitblt方法实现,所以业务逻辑那一块没有什么难点,难点主要还是在于对于SWE 框架的不熟
悉,现在已经熟悉了单个XAML文件的框架写法,但对于一个软件当中有多个XAML文件的时候,怎么样来处理之
间的逻辑关系,现主要表现:流程,数据的交换,与:多个XAML显示。
想法:
利用加层来解耦的原则,使用MVP/C 的思想,流程的控件由另外一个类来进行管理,那多个XAML其是
怎么样显示的呢,这是MS 的SWE 开发人员所以思考解决的问题,其会提供一些什么的工具,以方便我们的开发
呢。
我想:如果每一个XAML其是一个VISUAL HOST(也是一个XAML对应一个窗口),那么每一个XAML之间
通信,其要使用API:SendMessage, the developer of the SWE 其会这样处理吗,其支持这种方案,但我认识这太
低级了,且很麻烦,没有体现SWE的优点。
如果我们将每一个XAML当作一个控件(
件创建,增加,删除,控件之间的Workflow,这应该是最重要的,也是难点。
在一个软件当中,将其中一个XAML文件解析一个VISUAL HOST, 其它XAML 通过VISUAL TREE,然后
作为添加到VISUAL HOST当中。SWE 的开发人员其提供了:XRCustomUserControlImpl 来完成这个任务。这些任务是由一个类负责管理。
实现假想:
MVC的思想,CONTROL 其通过依赖注入得到MainPage(mainpage.xaml 解析成Visual host)对象的引用
,然后CONTROL 通过MainPage 的引用来操作控件Workflow。
寻找实现方案:
通过重新思考SWE的开发流程与对于XAML2CPP.EXE所写框架的反思,
现在SL 当中,其的C#代码,其既有UI事件处理代码,也有自定义事件代码。
class Control : public IControl
{
protected:
MainPage *page;
public:
Control(MainPage *page)
{
this->page = page;
// page 成员的初始化
}
public :
void Initialize()
{
}
}
对于SWE当中的委托机制,一定要认真的学习与思考
new与CreateObject 其之间是没有什么区别的。
下一个软件,其要把界面制作,业务逻辑,控制,分析清楚了,然后再来处理具体组织与实现关系。错误 1 error C2143: 语法错误: 缺少“;”(在“*”的前面)
现在遇到了C++ 的头文件相互包含的经典问题,( A 包含B ,B包含C,C包含A)
时间: 9:12 2010-8-25
在我的项目当中出现头文件相互包含的原因:我将类的定义与实现均写在一个文件当中。
解法:将类的定义与实现分别写在两个文件当中。
在头文件当中,当A头文件当中包含B文件类的指针与引用的时候,在A头文件当中写一个类向前引用(CLASS B ) 就可以了,没有必要写一个#include "B.h",而将#include "B.h" 写在A.CPP当中。
什么情况:向前引用就可以了。
什么情况:需要使用#include
/////////////////////////
PAGE:
https://www.doczj.com/doc/c410390236.html,/shilyx/blog/item/c1e3f7f277e29811b17ec5f2.html
三、两点原则
头文件包含其实是一想很烦琐的工作,不但我们看着累,编译器编译的时候也很累,再加上头文件中常常出现
的宏定义。感觉各种宏定义的展开是非常耗时间的,远不如自定义函数来得速度。我仅就不同头文件、源文件间
的句则结构问题提出两点原则,仅供参考:
第一个原则应该是,如果可以不包含头文件,那就不要包含了。这时候前置声明可以解决问题。如果使用的仅仅
是一个类的指针,没有使用这个类的具体对象(非指针),也没有访问到类的具体成员,那么前置声明就可以了
。因为指针这一数据类型的大小是特定的,编译器可以获知。
第二个原则应该是,尽量在CPP文件中包含头文件,而非在头文件中。假设类A的一个成员是是一个指向类B的指针,在类A的头文件中使用了类B的前置声明并便宜成功,那么在A的实现中我们需要访问B的具体成员,因此需要包含头文件,那么我们应该在类A的实现部分(CPP文件)包含类B的头文件而非声明部分(H文件)。
//////////////////////////////////
看来在C++ 当中,还接受将类的定义与实现分开的规则吧,以免得麻烦。
现在问题:
怎么样查找文件,怎么样去保存文件与目录的路径,怎么样去得到这些数据
WINCE R3 当中,
对于使用CString , std::wstring ,TCHAR 之间的问题
本人之前,一直使用MFC开发,且一直认为CString 其是与MFC绑定了。
原因不是这样的呀,
CString 其是属于ATL.
还有一个误认为的:认为WINCE R3 上的WIN32的开发:pure c++ And api
其实我们可以使用ATL, pure c++ and api, 对于模板容器的使用:ATL 与STL。
应该怎么样选择呢.
好久没有看到使用CString ,心里一阵惊喜,看到老朋友了,但后来想问一句:老朋友,你不是在MFC当中,怎么也跑到WIN32当中了呢。
==》在使用容器的时候,要选择哪一种容器版本呢.是STL 还是ATL
其实没有必要纠结,能够使用就使用呀,不要把什么东西(人,技术,书...)神化了(发现现在社会很喜欢造神),自己应该端正态度,这些东西都是用我们服务的,而不应该反过来。
一个类其只是负责处理一个任务,
错误 1 error C2871: “std”: 具有该名称的命名空间不存在
我遇到的情形:
std::string str;
但没有#include
C++ 方法当中的字符串形参的书写,感受:
const char *
char *
当只是要传入且不修改,最好使用const char *,因为string.c_str() 其是返回const char *
当前我的环境有什么资源使用,我们就要完全利用起来,
对于工作人的定义:应该是善于利用环境当中所提供的资源,来完成任务。
时间:14:58 2010-8-26
问题:
1.对于TextBlock的foreground 设置红色,为什么在使用SetText之后变成了黑色呢.(求解)
2. 当向网格(GRID)当中添加元素的时候,元素之前紧靠在一起,通过什么附加属性来使用其之间有空间.
==> 使用控件的SetMargin 方法
3. 同2. 且zindex 其的值是多少呢
4. 代码的书写风格很乱,变量命,方法,类的命名也很乱,=>尽量不要写注释,要让代码自解释,都向MSDN学
习其是怎么样定义的。
-2142830490
5. 向GRID当中动态的添加几个元素,但其只是显示一个元素, 我将创建自定义控件改成BUTTON,其就能够成功显
示出相应数目的BUTTON.
==》实在没有方法了,重新做一个新的控件,成功了,
通过对着分析:
x:Name ="xxx"/> /> 其两者是有很大的差别的呀 添加几个元素,但其只是显示一个元素==>其是与x:Name 有关 自定义控件有关错误: 自定义控件其定义在PAGE.XAML当中,自定义控件的注册 自定义控件(如Card) 其的XAML文件当中有这样一行: x:Class="ImageBrowserPro.card" 那么在下面方法当中,要写成下列的形式 static HRESULT Register() { return XRCustomUserControlImpl::Register(__uuidof(B), L"card", L"clr-namespace:ImageBrowserPro"); } 1、下列说法不正确的是 A.“低碳生活”有利于减缓全球气候变暖和环境恶化的速度B.光导纤维的主要材料是晶体硅 C.云、雾、烟均能产生丁达尔现象 D.铁制品上电镀铜时,用铜作阳极 2、下列说法正确的是 A.乙醇和乙酸都能与氢氧化钠溶液反应 B.乙烯和聚乙烯都能使溴水退色 C.石油裂化和裂解都属于化学变化 D.淀粉(C 6H 10 O 5 ) n 和纤维素(C 6 H 10 O 5 ) n 互为同分异构体 3、下列各组物质中,能利用如图所示装置(图中尾气处理装置略)制备和收集气体的是 A.石灰石和稀盐酸B.锌和稀硫酸 C.铜和稀硝酸D.氯化铵和氢氧化钙 4、下列说法正确的是 A.17 gNH 3 中含有的质子数为1 mol B.同温同压下CO与N 2 气体密度相同 C.20 gCuSO 4·5H 2 O溶于80 g水所得溶液溶质质量分数为20% D.16 gCH 4 在标准状况下体积为 11.2L 5、常温下,物质的量浓度为0.01 mol·L-1的醋酸溶液和盐酸,下列说法正确的是 A.溶液的pH相同 B.分别加入足量锌片,盐酸生成的H 2 体积大 C.分别稀释100倍后,醋酸浓度与盐酸浓度相等 D.由水电离出的氢离子浓度均为1×10-12mol·L-1 6、已知:CO(g) + H 2O(g)H 2 (g) + CO 2 (g)的平衡常数K随温度的变化如下 B.恒温时增大压强,正反应速率增大C.830℃时,反应达到平衡,[CO]=[CO 2 ] D.400℃时,恒容反应器中投入CO、H 2O、H 2 、CO 2 物质的量分别为5 mol、1 mol、 2 mol、3mol,反应向逆方向进行 7、科研人员设想用如图所示装置生产硫酸,下列说法正确的是A.a为正极,b为负极 B.生产过程中a电极质量减轻 C.电子从b极向a极移动 D.负极反应式为:SO 2 + 2H 2 O → SO 4 2-+ 4H+ + 2e- 8、 X、Y、Z、W、R是短周期元素,X、Y、Z在周期表中的位置如右图所示。其中Z的族序数与周期序数之差为4;W最高价氧化物水化物的阴、阳离子电子数相等;R与W同周期,R最高价氧化物的水化物与W、Y最高价氧化物的水化物均能反应。 请填写下列空白: (1)Z原子结构示意图为。 (2)W 2 Y水溶液中,阴离子浓度由大到小的顺序 是; 写出W 2X 2 的一种用途。 (3)R单质与W最高价氧化物水化物的溶液反应的化学方程式是: 。 (4)Y单质溶解在热的KOH浓溶液中,反应生成两种阴离子YO 3 2-和。 (5)已知298K时, Fe(s) +O 2 (g) == FeO(s) ΔH=-272.0 kJ·mol-1 2R(s) +O 2(g) == R 2 O 3 (s) ΔH=-1675.7 kJ·mol-1 写出R单质和FeO反应的热化学方程式 是。 9、纯净的碳酸钙在工业生产中有许多用途。用大理石制取纯净碳酸钙的流程如 1以下叙述中错误的是()。 //C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令// C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件// 用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中// C语言源程序经编译后生成后缀为.obj 的目标程序//////A// 2以下选项中,合法的一组C语言数值常量是()。 // 12.0Xa23 4.5e0 // 028.5e-3-0xf// .1774e1.50abc// 0x8A10,000 3.e5 //////A// 3以下选项中不合法的标识符是()。 // &a//FOR //print //00 //////A// 4若有代数式(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是()。 //sqrt(fabs(pow(n,x)+exp(x)))// sqrt(fabs(pow(n,x)+pow(x,e)))// sqrt(abs(n^x+e^x))// sqrt(fabs(pow(x,n)+exp(x)))//////A// 5若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是() //i=(a+k)<=(i+k);// i=a%11; //a=a++,i++//i=!a;//////B// 6有以下程序: #include 下列说法不正确的是
1以下叙述中错误的是。