我一直在看WPF,但我从来没有真正参与其中(除了15分钟,这促成了这个问题).我查看了这篇文章,但它真的是关于WPF的"Flash".那么Windows窗体应用程序和WPF应用程序之间有什么区别?
我在一个环境中工作,由于历史原因,我们使用大量的自定义实用程序类,其中大部分是在STL到达现场之前编写的.我认为至少使用STL编写新代码是个好主意的原因有很多,但主要原因是我相信它可以提高程序员的工作效率.不幸的是,这是我不知道如何证明的一点.
是否有任何研究试图量化,甚至只暗示使用STL提高生产力?
更新:我想我应该更具体一点.我并不主张重写现有的代码,我并不担心新员工会有一个好的开始.前者是愚蠢的,而后者本身并不足以说服人们.
我越来越痛苦地从Java转移到C.我已经习惯了使用不同的方法来使用相同的名称,但它们采用不同的参数.在C中这会产生问题吗?
Cell makeCell(int dim, int iterations, Cell parent);
Cell makeCell(Cell parent);
Run Code Online (Sandbox Code Playgroud)
有一些小巧的变通对于这个问题,或者我应该保持咬紧牙关,并呼吁他们的一个_makeCell
或makeCell2
或一些其他类似的可笑吗?
我写了一些代码,利用开源库来完成一些繁重的工作.这项工作是在linux中完成的,使用单元测试和cmake来帮助将其移植到Windows.需要在两个平台上运行它.
我喜欢Linux,我喜欢cmake,我喜欢自动生成可视化工作室文件.就像现在一样,在Windows上,一切都将编译,它将链接,它将生成测试可执行文件.
然而,为了达到这一点,我不得不与Windows斗争几天,学习所有关于清单文件和可再发行组件包.
据我所知:
在VS 2005中,微软创建了Side By Side dlls.这样做的动机是,之前,多个应用程序将安装相同dll的不同版本,导致先前安装和正在运行的应用程序崩溃(即"Dll Hell").并排dll修复此问题,因为现在每个可执行文件/ dll附加一个"清单文件",指定应执行哪个版本.
这一切都很好.应用程序不应再神秘崩溃.然而...
微软似乎每次发布Visual Studio都会发布一套新的系统dll.另外,正如我之前提到的,我是一名试图链接到第三方库的开发人员.通常,这些东西作为"预编译的dll"分发.现在,当使用一个版本的可视工作室编译的预编译dll链接到使用另一个版本的可视工作室的应用程序时会发生什么?
根据我在互联网上看到的内容,发生了不好的事情.幸运的是,我从来没有这么做 - 在运行可执行文件时我一直遇到"MSVCR80.dll not found"问题,因此我开始涉足整个清单问题.
我终于得出结论,使这个工作的唯一方法(除了静态链接一切)是所有第三方库必须使用相同版本的Visual Studios编译 - 即不使用预编译的dll - 下载源,构建一个新的DLL并使用它.
这实际上是真的吗?我错过了什么?
此外,如果情况确实如此,那么我不禁会认为微软出于各种原因故意这样做.
它不仅会破坏所有预编译的二进制文件,使得使用预编译的二进制文件变得不必要,如果您碰巧为使用第三方专有库的软件公司工作,那么每当他们升级到最新版本的可视化工作室时 - 您的公司必须现在做同样的事情或代码将不再运行.
顺便一下,linux如何避免这种情况?虽然我说我喜欢在它上面进行开发并且我理解链接的机制,但是我没有维护任何应用程序足够长的时间来遇到这种低级别的共享库版本问题.
最后,总结一下:是否可以将预编译的二进制文件与这个新的清单方案一起使用?如果是的话,我的错误是什么?如果不是,那么微软是否真的认为这会让应用程序开发变得更容易?
更新 - 一个更简洁的问题:Linux如何避免使用Manifest文件?
我正在使用SVG和JavaScript/jQuery进行交互式界面,我正在尝试在Raphael和jQuery SVG之间做出决定.我想知道
我不需要Raphael中的VML/IE支持,也不需要jQuery SVG的绘图功能.我主要对在SVG画布上创建,动画和操作单个项目的最优雅方式感兴趣.
我的目标是创建一本可以使用 Blackberry 上的 Mobipocket 阅读器阅读的电子书。问题是我的文本包含 Blackberry 不支持的 UTF-8 字符,因此显示为黑框。
\n\n该电子书将包含英语和旁遮普语单词列表以供参考,例如:
\n\nbait \xe0\xa8\xa6\xe0\xa8\xbe\xe0\xa8\xa3\xe0\xa8\xbe\nbaked \xe0\xa8\xad\xe0\xa9\x81\xe0\xa9\xb0\xe0\xa8\xa8\xe0\xa8\xbf\xe0\xa8\x86\nbalance \xe0\xa8\xb5\xe0\xa8\xbf\xe0\xa8\x9a\xe0\xa8\xbe\xe0\xa8\xb0\n
Run Code Online (Sandbox Code Playgroud)\n\n我的一个想法是将列表写入 HTML 表,并将旁遮普语转换为 GIF 或 PNG 文件。然后将此 HTML 文件包含在电子书中。所有单词当前都存在于 Access 数据库中,但可以轻松导出到另一种形式以输入到生成例程。
\n\n问题:使用 VB、VBA 或 C#,编写一个例程来创建图像,然后输出一个包含表格中的英文单词和图像的 HTML 文件有多难
\n我有一个业务对象,它是子对象的组合。
我在Visual Studio 2008中使用数据绑定来绑定到Windows窗体上的控件。
但是我在窗体的InitializeComponent方法中收到上述错误。
可以说我有一个名为ParentObject的对象,其中包含一个通用列表ChildListObject。ParentObject还具有Child对象,该对象本身具有Child对象。(即ParentObject.ChildObject.ChildObject)
我设置了主要的绑定源:
BindingSource.Datasource = ParentObject
Run Code Online (Sandbox Code Playgroud)
我添加一个网格并设置它的绑定源:
GridBindingSource.Datasource = ParentObject
Run Code Online (Sandbox Code Playgroud)
并将DataMember设置为:
BindingSourceB.DataMember = "ChildListObject"
Run Code Online (Sandbox Code Playgroud)
现在,将网格的数据源设置为GridBindingSource:
Me.MyDataGridView.DataSource = Me.GridBindingSource
Run Code Online (Sandbox Code Playgroud)
还有其他绑定到ParentObject和ParentObject.ChildObject属性的控件。
我已经在一个隔离的项目中对此进行了测试,并且效果很好,所以我很难找出真正的错误是什么?曾经起作用的代码会突然停止工作。
我得到的错误是(如果我在上面的示例中使用对象的名称):
“在数据源上找不到DataMember属性ChildObject”
它在以下方面失败:
Me.MyDataGridView.DataSource = Me.GridBindingSource
Run Code Online (Sandbox Code Playgroud)
奇怪的是,如果我删除<System.Diagnostics.DebuggerStepThrough()>,然后当它失败时继续,就可以了???但是它在运行时仍然失败。
有没有人有任何想法可以指出我正确的方向?我通过谷歌搜索发现的最接近的信息可能与生成的设计器代码混乱的顺序有关。一直在工作的代码将突然停止工作。
这个问题似乎来了又去。如果在出现错误后我仍然继续,则程序会愉快地继续运行而不会出现问题。可能是VS中的错误。但是在运行时错误仍然存在。
是什么导致此问题?如何阻止它发生?
我认为一个外键意味着一行必须引用一行,但我正在看一些表肯定不是这样的表.Table1的column1在table2中的column2上有一个外键约束,但是table2中有许多记录在column2中有相同的值.column2上还有非唯一索引.这是什么意思?外键约束是否只是意味着在右列中必须存在至少一个具有正确值的记录?我认为这意味着必须有一个这样的记录(不确定空白如何适应图片,但我现在不太关心它).
更新:显然,这种行为是特定于MySQL,这是我正在使用的,但我没有在我原来的问题中提到它.
我有一个用python编写的工具,通常应该作为守护进程运行.打包此工具以进行分发的最佳做法是什么,尤其是如何处理设置文件和守护程序可执行文件/脚本?
相关的是,是否有任何常用的工具可以设置守护进程在开机时运行,以适合给定的平台(即linux上的init脚本,windows 上的服务,osx上的launchd)?
我必须实现一个函数,它接受一个字符串作为输入,并从该字符串中找到非重复的字符.
所以一个例子是如果我传递字符串str ="DHCD"它将返回"DHC"或str2 ="KLKLHHMO"它将返回"KLHMO"
c# ×2
c++ ×2
c ×1
data-binding ×1
distutils ×1
dll ×1
foreign-keys ×1
javascript ×1
jquery ×1
manifest ×1
mobipocket ×1
mysql ×1
namespaces ×1
packaging ×1
python ×1
raphael ×1
setuptools ×1
sql ×1
stl ×1
svg ×1
utf-8 ×1
vb.net ×1
windows ×1
wpf ×1