我只是在.NET中调用kernel32中的GetPrivateProfileString和GetPrivateProfileSection,并遇到了一些我不理解的奇怪事情.
让我们从这个咒语开始:
Private Declare Unicode Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringW" ( _
ByVal lpApplicationName As String, _
ByVal lpKeyName As String, _
ByVal lpDefault As String, _
ByVal lpReturnedString() As Char, _
ByVal nSize As Int32, _
ByVal lpFileName As String) As Int32
Run Code Online (Sandbox Code Playgroud)
如果我传递一个lpApplicationName(section),没有lpKeyName而没有lpDefault,我应该得到该部分的所有密钥,而且确实是这样:50%的时间.
如果ini文件在第一行开始有lpApplicationName,则缓冲区不返回任何内容.如果lpApplicationName统计信息位于文件的第二行,则返回预期值.
起初我虽然是在Declare中使用W版本和Unicode的问题,但改变它们似乎没有任何效果.
我错过了什么?
任何人都可以推荐一个良好的源代码控制(SCC),适用于大多数断开连接的顾问?我更喜欢允许一个人保存到本地存储库然后将"同步"连接到服务器的东西,但是我从未见过这样的功能.建议?[Windows解决方案首选与标准IDE集成SCCI API].
我在尝试学习Castle Windsor的Fluent界面时写了以下简单的测试:
using NUnit.Framework;
using Castle.Windsor;
using System.Collections;
using Castle.MicroKernel.Registration;
namespace WindsorSample {
public class MyComponent : IMyComponent {
public MyComponent(int start_at) {
this.Value = start_at;
}
public int Value { get; private set; }
}
public interface IMyComponent {
int Value { get; }
}
[TestFixture]
public class ConcreteImplFixture {
[Test]
public void ResolvingConcreteImplShouldInitialiseValue() {
IWindsorContainer container = new WindsorContainer();
container.Register(Component.For<IMyComponent>().ImplementedBy<MyComponent>().Parameters(Parameter.ForKey("start_at").Eq("1")));
IMyComponent resolvedComp = container.Resolve<IMyComponent>();
Assert.AreEqual(resolvedComp.Value, 1);
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我通过TestDriven.NET执行测试时,我收到以下错误:
System.TypeLoadException : Could not load type 'Castle.MicroKernel.Registration.IRegistration' from …Run Code Online (Sandbox Code Playgroud) 我出于好奇而问这个问题.基本上我的问题是当你有一个数据库需要一个行条目来做一些像旗帜一样的东西时,最佳做法是什么?一个很好的例子就是堆栈溢出上的徽章,或者bugzilla中的操作系统字段.可以为给定条目设置标志的任何子集.
通常,我做c和c ++工作,所以我的直觉反应是使用无符号整数字段作为一组可以翻转的位......但我知道这不是一个好的解决方案,原因有几个.其中最明显的是比例能力,我可以拥有多少旗帜的硬上限.
我还可以考虑其他几种解决方案,这些解决方案可以更好地扩展,但会出现性能问题,因为它们需要多次选择才能获得所有信息.
那么,做到这一点的"正确"方法是什么?
标准模型是OpenGL用于专业应用程序(CAD),Direct3D用于游戏.
随着openGL 3.0的崩溃,openGl仍然是技术3D应用程序(cad/GIS)的自然选择吗?
是否有Direct3D的场景图库?
(当然Direct3D只是windows.)
我有一个<img>HTML文档,我想强调,好像用户使用鼠标突出显示它.有没有办法使用JavaScript?
我只需要它在Mozilla中工作,但欢迎任何和所有信息.
编辑:我想选择图像的原因实际上并不是它突出显示,但我可以使用XPCOM将所选图像复制到剪贴板.因此,实际上必须选择img才能使其正常工作.
我想确保我的RAII类总是在堆栈上分配.
如何通过"新"运算符阻止类分配?
在办公室,我们正在编写一个应用程序,它将根据我们给出的模式生成XML文件.我们在.XSD文件中有架构.
是否有可用于自动化测试的工具或库来检查生成的XML是否与模式匹配?
我们更喜欢适合商业用途的免费工具,尽管我们不会捆绑架构检查器,因此开发期间只需要开发人员可以使用它.
我们的开发语言是C++,如果这有什么不同,虽然我不认为它应该生成xml文件然后通过在测试中调用单独的程序来进行验证.
我最近了解了.docx文件的基本结构(它是一个特殊结构的zip存档).但是,docx不像doc那样格式化.
doc文件如何工作?什么是文件格式,结构等?
我是一名长期的Windows开发人员,在win32和早期的COM上已经开始了.我从2001年开始使用.Net,因此我对C#和CLR非常流利.在我开始参与Stack Overflow之前,我从未听说过Castle Windsor.我已经读过温莎城堡"入门"指南,但它没有点击.
教这个老狗的新技巧,并告诉我为什么我应该将Castle Windsor整合到我的企业应用程序中.