小编Eri*_*ric的帖子

DotNetBar与Krypton

我正在考虑购买一个WinForm控件套件,并将其缩小到Component Factory的Krypton Suite和DevComponent的DotNetBar.我的问题是:你们中的任何人都熟悉这两个套房,你会推荐哪一套?DotNetBar看起来有更多的组件,但Krypton Suite看起来可能具有更专业的外观.对这些方面有何评论?

PS:我知道还有其他几个非常好的(DevExpress,Telerik等),但是这些都比我愿意花费的多一点.

谢谢.

user-controls krypton-toolkit winforms

4
推荐指数
1
解决办法
3079
查看次数

无需安装的C++数据库访问

我正在寻找一个数据库,我可以运行SQL语句而无需安装数据库服务器.即我只需要数据库文件和任何外部库就能选择/插入/更新数据库.

这是我的情况:

  • 我正在使用C++来解析许多奇怪格式化的二进制文件,我想将它们存储到某种类型的数据库中,以便更方便地访问数据.
  • 将文件插入数据库后,我将使用C#编写用户可以与数据库交互的接口/ GUI.
  • 我正在使用C++来读取文件的速度,因为我已经编写了那部分内容.
  • 我正在使用C#,因为它更容易进行GUI编程.

这是我的要求:

  1. 数据库必须提供一种仅使用外部库在C++中运行命令的方法(无需安装)
  2. 我应该能够将数据库移动到任何(类似的[Windows])计算机并运行我的应用程序

我相信这可以使用ADO或JET等MS Access*.mdb文件,但是,我想听听一些替代方案.请在答案中提供数据库和C++引擎/库.

我的优先事项是:

  1. "精简版" -ness
  2. 性能(插入/选择的速度)
  3. 客户端代码简单(即设置起来容易)

谢谢你们.

c# c++ sql database

4
推荐指数
2
解决办法
993
查看次数

为什么我不能将地址作为参考传递?

我有一个函数,它将一个指针作为引用参数,但我无法传入&my_variable函数.我收到的错误是cannot convert parameter from my_class* to my_class*&,使用VS2010.

为什么不允许这样做?

class my_class
{
public:
    my_class();
    my_class(my_class* &parent);
};
Run Code Online (Sandbox Code Playgroud)

-

int main()
{
    my_class a;
    my_class b(&a);                   // Not legal

    // ---
    my_class a;
    my_class* a_ptr = &a;
    my_class b(a);                    // Legal

    // ---
    my_class* a = new my_class;
    my_class* b = new my_class(a);    // Legal
}
Run Code Online (Sandbox Code Playgroud)

c++ compiler-errors

4
推荐指数
1
解决办法
109
查看次数

在.NET中解析XML文件

我正在尝试确定加载某些配置设置的最佳方法.基本上,我有一个应用程序,几个人将登录,一旦他们登录,我想加载他们的所有设置(例如:颜色,字体大小,个人记录等)

我正在考虑使用XML文件来执行此操作,因为我认为在.NET中解析起来相当容易,但我认为这似乎更难.

<ProgramSettings>   
  <database file="C:\database.mdb" />    
</ProgramSettings>

<UserSettings>
  <user key="user1">
    <layout color="red" fontsize="5" />
    <data file="C:\test1.txt" />
  </user>

  <user key="user2">
    <layout color="blue" fontsize="2" />
    <data file="C:\test2.txt" />
  </user>

</UserSettings>
Run Code Online (Sandbox Code Playgroud)

注意:由于某些原因,某些代码没有出现,但基本上有标记为"ProgramSettings"和"UserSettings"的主要部分.编辑:谢谢谁修复了我.

无论如何,我想要做的是获取"用户密钥",这将是用户的登录名或其他内容.然后,能够做这样的事情会很高兴:

String userLogin = "user1";

// returns red
String color = myXMLFile["UserSettings"][userLogin]["layout"]["color"];         

// returns 5
String fontSize = myXMLFile["UserSettings"][userLogin]["layout"]["fontsize"];   
Run Code Online (Sandbox Code Playgroud)

有可能这样吗?我所做的所有研究似乎表明你需要遍历每个值.我想加载整个文件,并直接访问任何元素.

如果您可以编辑以下值,那也很酷:

myXMLFile["UserSettings"][userLogin]["layout"]["fontsize"] = "green";
Run Code Online (Sandbox Code Playgroud)

.net c# xml parsing writing

2
推荐指数
1
解决办法
2802
查看次数

Java继承约束

我试图将我在C#中编写的一些代码移植到Java,但还不知道所有的Java语法.我也不知道这种类型的东西叫什么,所以搜索起来比较困难.我称之为"继承约束".

基本上,是否存在与此C#代码等效的java:

public abstract class MyObj<T> where T : MyObj<T>, new()
{

}
Run Code Online (Sandbox Code Playgroud)

谢谢.


编辑:

有没有办法做到这一点:

public abstract class MyObj<T extends MyObj<T>> {
    public abstract String GetName();

    public virtual void Test() {
          T t = new T();                // Somehow instantiate T to call GetName()?
          String name = t.GetName();
    }
}
Run Code Online (Sandbox Code Playgroud)

c# java inheritance type-constraints

2
推荐指数
1
解决办法
204
查看次数

C++中的递归析构函数

假设我有一个类似于以下的类:

#include <vector>

class element
{
public:
   element();
   ~element();

   virtual void my_func();

private:
   std::vector<element*> _elements;
};
Run Code Online (Sandbox Code Playgroud)

我将如何实现析构函数?

我在想这样的事,但我不确定.我担心内存泄漏,因为我对C++比较陌生.

void element::destroy()
{
   for(int i = 0; i < _elements.size(); ++i)
      _elements.at(i)->destroy();

   if(this != NULL) 
      delete this;
}

element::~element()
{
    destroy();
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

PS:这是一个主要的示例:

int main()
{
   element* el_1 = new element();
   element* el_2 = new element();
   element* el_3 = new element();

   el_1.add_element(el_2);
   el_2.add_element(el_3);

   return 0;
}
Run Code Online (Sandbox Code Playgroud)

另外,如果我这样做(又名不使用new):

int main()
{
   element el_1;
   element el_2;
   element el_3;

   el_1.add_element(&el_2);
   el_2.add_element(&el_3);

   return …
Run Code Online (Sandbox Code Playgroud)

c++ destructor memory-leaks

0
推荐指数
1
解决办法
2089
查看次数