问题列表 - 第3937页

在C++中传递对象所有权

指示对象想要获取另一个对象的所有权的最佳方法是什么?到目前为止,我一直std::auto_ptr在公共接口中使用a ,因此客户端知道接口想要获取传递对象的所有权.

但是,最新的GCC告诉我auto_ptr已被弃用,所以我想知道推荐什么?boost::interprocess::unique_pointer看起来像个好人,但这真的是最好的解决方案吗?

c++

13
推荐指数
1
解决办法
5531
查看次数

CANopen PDO使用串行端口

我想了解CANopen协议.

目前,我没有任何CAN硬件或CANopen堆栈可供试验.

我想知道如何编写Java程序来简单地解释在RS-232端口接收的CANopen消息.

  • 是否有作为串口安装的CAN接口?
  • 我能写一个程序来处理CANopen消息吗?我只希望能够接收和解释消息.是否像为输入流创建缓冲区那样简单,然后根据SOF和EOF将传输分解为单独的消息?我怎么知道什么是SOF/EOF,因为它只有1位长?
  • 为什么CAN节点的PDO数量有限制?
  • 如何处理PDO以识别发送它的节点以及数据类型和值?PDO是标准CAN框架吗?

java serial-port can-bus canopen

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

JOptionPane不会在其他窗口的顶部显示其对话框

我目前有摆动提醒应用程序的问题,它可以最小化到托盘关闭.我的问题是,我需要按照我设置的方式按时弹出JOptionPane对话框,但问题是,当我最小化它时,对话框会弹出,但不会出现在windows的顶部,当其他应用程序如explorer,firefox正在运行,任何人都知道如何在Windows上弹出对话框,无论运行什么应用程序?

java swing joptionpane

12
推荐指数
3
解决办法
2万
查看次数

Sql Compact随机生成AccessViolationException

我在多线程应用程序中运行Sql Server Compact Edition 3.5.1.0 SP1.应用程序在事务中随机运行插入查询.随着短交易,它工作正常.但是当事务变得更长并且执行之间的延迟变得更短或者我在调试模式下运行应用程序时,SqlCE开始随机抛出以下异常:

AccessViolationException尝试读取或写入受保护的内存.这通常表明其他内存已损坏.

System.Data.SqlServerCe.SqlCeCommand.CompileQueryPlan()位于SqlCompactTest.TransactedCommandGroupExecutionTest.Test的System.Data.SqlServerCe.SqlCeCommand.ExecuteNonQuery()的System.Data.SqlServerCe.SqlCmandCommand.ExecuteCommand(CommandBehavior behavior,String method,ResultSetOptions options)中的System.Data.SqlServerCe.SqlCeCommand.CompileQueryPlan() ()在D:\ Projects\PlayGround\SqlCompactTest\SqlCompactTest\TransactedCommandGroupExecutionTest.cs:第53行,位于D:\ Projects\PlayGround\SqlCompactTest\SqlCompactTest\ExecutionTest.cs中的SqlCompactTest.ExecutionTest.RunTest():第60行,位于SqlCompactTest.ExecutionTest .TimerElapsed(Object sender,ElapsedEventArgs e)位于D:\ Projects\PlayGround\SqlCompactTest\SqlCompactTest\ExecutionTest.cs:第68行,位于System.Timers.Timer.MyTimerCallback(对象状态)

我正在运行的代码是:

IDbConnection connection = m_connectionProvider.GetConnection(); // Just returns new connection

connection.Open();
IDbTransaction transaction = connection.BeginTransaction();

foreach (IDbCommand command in m_commands)
{
    command.Connection = connection;
    command.ExecuteNonQuery(); // This line throws exception
    Thread.Sleep((int)m_delayBetweenExecutions);
}

transaction.Commit();
connection.Close();
Run Code Online (Sandbox Code Playgroud)

此代码在两个线程中同时运行.连接字符串是:

"Data Source=testDB.sdf;Encrypt Database=True;Password=test;File Mode=Read Write;Persist Security Info=False;Max Database Size=1024"
Run Code Online (Sandbox Code Playgroud)

我在互联网上找到了荒谬的解决方案,比如回归到Framework 1.1,更改方法参数的顺序,启用/禁用优化等等,但它们都不适用于我.我还在微软网站上迭代了可能的解决方案,但我找不到适合我的解决方案.我的数据库文件版本是3.5.0.0.

我怎么解决这个问题?

access-violation sql-server-ce

5
推荐指数
2
解决办法
3933
查看次数

PHP图片上传问题

<td valign="top">
<input type="hidden" name="MAX_FILE_SIZE" value="12485760" />
Image?</td>
<td><input type="file" name="image">

$path = "uploads/";
$path .= basename($_FILES['image']['name']);

$path = addslashes($path);
$name = $_FILES['image']['name'];

echo $path;

move_uploaded_file($_FILES['image']['tmp_name'], $path);
Run Code Online (Sandbox Code Playgroud)

上面的代码应该工作,因为我有一个非常相似的工作.但是,它似乎没有从表单中选择任何东西(最顶层的代码).如果有人能指出我是一个傻瓜并打破这个,我会非常感激.

php

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

在事务数据库中撤消

我不知道如何使用事务数据库实现用户友好界面的撤销属性.

一方面,建议用户拥有,因为它是说多(无限)撤销的可能性在这里的答案.可能有助于此问题的模式是MementoCommand.

但是,使用包含触发器,不断增长的序列号和不可逆转的过程的复杂数据库,很难想象撤消操作如何在不同于事务边界的点处起作用.换句话说,撤消到最后一次提交的事务只是回滚时,但是如何回到不同的时刻呢?

更新(基于到目前为止的答案):我不一定希望撤消在修改已经提交时有效,我将专注于具有开放事务的正在运行的应用程序.每当用户点击保存时,它意味着提交,但在保存之前 - 在同一事务期间 - 撤消应该有效.我知道使用数据库作为持久层只是一个实现细节,用户不应该为此烦恼.但是,如果我们认为"在数据库和GUI中撤消的想法是根本不同的东西",并且我们不对数据库使用撤销,那么无限撤消只是一个流行语.我知道"回滚是......不是用户撤消".

那么如何在同一个事务中给出"由于任何更改而产生的级联效果",实现客户端级撤销?

undo interface-implementation transactional-database

3
推荐指数
1
解决办法
2578
查看次数

如何在C++中跟踪内存分配(尤其是新建/删除)

如何跟踪C++中的内存分配,尤其是new/ delete.对于一个对象,我可以轻松覆盖operator new,但我不确定如何全局覆盖所有分配,以便它们通过我的自定义new/ delete.这应该不是一个大问题,但我不确定应该怎么做(#define new MY_NEW?).

一旦这个工作,我会认为它足以在分配的指针/位置的某处有一个映射,所以我可以跟踪当前"活动"的所有分配,并且 - 在应用程序结束时 - 检查分配没有被释放的.

好吧,这似乎再次像肯定已经多次完成了几次,所以任何好的库(最好是便携式的)?

c++ debugging memory-management

30
推荐指数
4
解决办法
3万
查看次数

改善我们的工作环境

在不久的将来,我将有两周的时间来改善我们的工作环境.

我们主要开发一个包含2-10个开发人员的大型PHP/MySQL项目.

目前我们有一个dev服务器,用mod_userdir运行apache,每个dev在他的(samba-accessible)主页中都有一个/ public_html文件夹.对于VCS和Project Management/Issuetracking,我们使用Subversion和Trac.测试/部署需要一些手动步骤,而不是那里的自动化程度.

我对新设置的计划包括对现有设备的以下更改:

  • 持续集成
  • 将CI集成到Trac,创建/查找一个插件,该插件提供在构建进度成功或失败后启动操作(即部署到staging/live)
  • 创建自动部署脚本(一键式)
  • 将(doxygen)-Documentation 集成到构建进程中并以某种方式进入Trac
  • 添加自动版本控制
  • 添加另一层监控(本地nagios监控我们的生产系统 - nagios)
  • 添加一个夜间运行的MySQL Replication Slave,开发人员可以使用它来测试up2date数据的内容
  • 查看备份计划
  • 记录我以这种方式设置所有内容的方式和原因

您有什么提示/提示可以进一步改进吗?我们应该以不同的方式做什么?

svn deployment environment automation trac

8
推荐指数
1
解决办法
560
查看次数

(ProjectEuler)Sum Combinations

来自ProjectEuler.net:

问题76:一百个不同的方式可以写成至少两个正整数的总和?

我不知道如何开始这个...正确的方向或帮助的任何点?我不是在寻找如何做到这一点,而是提示如何做到这一点.

例如,5可以写成:

4 + 1
3 + 2
3 + 1 + 1
2 + 2 + 1
2 + 1 + 1 + 1
1 + 1 + 1 + 1 + 1
Run Code Online (Sandbox Code Playgroud)

共有6种可能性.

algorithm

12
推荐指数
2
解决办法
7078
查看次数

Visual Studio:查找类的程序集

我很蠢.

例如,如果我只知道类的名称,如何知道要引用哪个程序集System.Collections.Specialized.StringCollection.

(是的,我知道通常我会通过查看命名空间来做出有根据的猜测.)

谢谢

亚历克斯

.net visual-studio

7
推荐指数
2
解决办法
3069
查看次数