问题列表 - 第9827页

试图找到SafeMM for Delphi

Mark Edington在DelphiLive会议上提到了名为SafeMM的内存管理器.

我无法在网上找到它,有人知道它可能在哪里.

delphi debugging memory-management

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

为什么返回通用化Map的代码在分配给通用Map时会生成编译器警告?

我有一个带有此签名的方法:

   protected final Map<String, Object> buildOutputMappings(
                                 AbstractDataObject ado, MDBase md)
Run Code Online (Sandbox Code Playgroud)

并使用此方法调用(在子类中):

   Map<String, Object> params = buildOutputMappings(ra, md);
Run Code Online (Sandbox Code Playgroud)

我得到这个编译器警告:

      Warning:Warning:line (136)[unchecked] unchecked conversion
found   : java.util.Map
required: java.util.Map<java.lang.String,java.lang.Object>
Run Code Online (Sandbox Code Playgroud)

将params更改为非通用化Map会删除编译器警告.为什么这样以及如何避免(抑制除外)?

编辑:这是JDK 1.5,第136行是上面的赋值语句.这两个类都没有参数化,它们只有返回泛型类型Map的方法.方法中返回的对象也是通用的.

编辑:超类确实是通用的,虽然返回值与那些泛型无关.这是方法的代码,虽然免责声明我没有写这个,但我知道它很难看:

protected final Map<String, Object> buildOutputMappings(AbstractDataObject ado, MDBase md) throws DAOException {
  try {
     ....
     Map<String,Object> params = new HashMap<String, Object>(spc.getNumberInParams());
     ....
     return params;
  }
  catch (Exception e) {
     logger.undeterminedError(e);
     throw new DAOException(e.getMessage(), e);
  }
}
Run Code Online (Sandbox Code Playgroud)

以下是类声明:

public abstract class DAOBase<T extends AbstractDataObject>

public class RoleAssignmentDAO extends DAOBase
Run Code Online (Sandbox Code Playgroud)

java generics

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

如何为电子邮件(System.Net.Mail.SmtpClient)附件设置一个好名称

我在C#中使用System.Net.Mail.SmtpClient发送附件.
附件名称与我传递给附件构造函数的文件名相同

myMail.Attachments.Add(new Attachment(attachmentFileName));
Run Code Online (Sandbox Code Playgroud)

我如何设置附件的"好"名称?我当前拥有的名称基本上是数字ID,表示附加了哪个报告.我的用户正在寻找更友好的东西,比如"results.xls".

c# smtpclient email-attachments

6
推荐指数
1
解决办法
4555
查看次数

为什么std :: fstream设置EOF位的方式呢?

我最近遇到了使用fstream :: eof()引起的问题.我从这里读到以下内容:

如果已到达关联输入文件的末尾,则函数eof()将返回true,否则返回false.

并且(错误地)假设这意味着如果我使用fstream :: read()并读取文件末尾,函数eof()会告诉我.所以我做了这样的事情(非常概括):

for(int i = 0; i < max && !file.eof(); i++)
{
     file.read(mything, sizeof(mything));
}
Run Code Online (Sandbox Code Playgroud)

出现这个问题的原因是上面链接的页面稍后解释了(由于误导性的第一段,我最初没有阅读):

相反,如果在最后一个令牌之后恰好有任何空格,则流不会进入EOF状态,但尝试读取另一个令牌仍然会失败.因此,EOF标志不能用作用于在EOF之前读取所有流内容的循环中的测试.相反,应该在尝试阅读后检查失败条件.

所以我改变了,现在我的循环检查file.fail()而不是file.eof(),我理解如何工作eof().我的问题是,为什么这样做?有没有这种情况需要?在我看来,一旦你通过EOF,你已经通过了EOF而eof()应该返回true.

更新 感谢您的回复,我想我已经得到了.我正在执行的唯一操作是read(),我立即检查fail(),所以我觉得我没事.现在,我的问题是,我使用eof()?

c++ iostream library-design

15
推荐指数
1
解决办法
7262
查看次数

如何在VB6 IDE中使鼠标滚轮工作?

VB6 IDE编辑器的一个令人讨厌的行为,特别是当从VS.NET等更新的工具切换回它时,它无法识别鼠标滚轮!也许VB6在大多数老鼠没有的时候被带出来,但有没有办法解决它所以它确实识别鼠标滚轮?

ide vb6 mousewheel

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

为什么我不能在Javascript中滚动循环?

我正在开发一个使用dojo的网页,并且有一个项目小部件的数字(在我的测试用例中为6,但一般是变量).我正在调用dojo.addOnLoad(ini​​t),在我的init()函数中我有这些行:

dojo.connect(dijit.byId("project" + 0).InputNode, "onChange",  function() {makeMatch(0);});
dojo.connect(dijit.byId("project" + 1).InputNode, "onChange",  function() {makeMatch(1);});
dojo.connect(dijit.byId("project" + 2).InputNode, "onChange",  function() {makeMatch(2);});
dojo.connect(dijit.byId("project" + 3).InputNode, "onChange",  function() {makeMatch(3);});
dojo.connect(dijit.byId("project" + 4).InputNode, "onChange",  function() {makeMatch(4);});
dojo.connect(dijit.byId("project" + 5).InputNode, "onChange",  function() {makeMatch(5);});
Run Code Online (Sandbox Code Playgroud)

并为我的项目小部件更改事件正确调用makeMatch函数.但如果我用循环替换它们:

for (var i = 0; i < 6; i++) 
    dojo.connect(dijit.byId("project" + i).InputNode, "onChange",  function() {makeMatch(i);});
Run Code Online (Sandbox Code Playgroud)

相同的makeMatch()函数,相同的init()调用,以及其他所有内容 - 只是将我的调用滚动到循环中 - 从不调用makeMatch函数; 对象没有连线.

发生了什么,我该如何解决?我尝试过使用dojo.query,但其行为与for循环案例相同.

javascript dojo closures loops

6
推荐指数
2
解决办法
820
查看次数

TWAIN浏览器插件

有谁知道一个好的TWAIN浏览器插件来扫描图像并发送到Web应用程序?如果它包含诸如去偏移等功能,那就更好了.谢谢!

plugins twain

5
推荐指数
1
解决办法
1万
查看次数

删除目录中的所有文件

试图删除某个目录中的所有文件给我以下错误:

import os
test = "/home/me/test/*"
os.remove(test)
Run Code Online (Sandbox Code Playgroud)

我正在运行的代码是:

import os
test = "/home/me/test/*"
os.remove(test)
Run Code Online (Sandbox Code Playgroud)

python unix file-management

42
推荐指数
5
解决办法
8万
查看次数

不同的bash提示符为不同的vi编辑模式?

当使用vi模式(set -o vi)和Bash时,最好有一个取决于你当前所处模式的提示(插入或命令).如何找到这种编辑模式?

顺便说一句,这似乎在ZSH中是可能的:

bash prompt

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

使用SVG进行2D渲染和放大

我的任务是开发一种算法,将不同类型的曲线拟合到二维空间中的给定点序列上.

为了能够测试我的算法,我选择了SVG来显示结果.我有几个问题.

由于我的算法可能有非常不同的输入和输出,因此我必须能够放大查看生成的SVG文件!

但是SVG中的路径只能以一定的宽度显示.如果我放大,那么路径的宽度会变宽.我希望宽度在所有缩放级别为例如1像素.这有解决方案吗?

另外:SVG可以显示点吗?是的,简单,原始点.我发现它不能.

谢谢

svg point path zooming

7
推荐指数
1
解决办法
3420
查看次数