问题列表 - 第35064页

如何从 NSTableView 复制行

我有一个 NSTableView,它只显示一行数字。我只想使用(cmd+copy)或右键单击复制来复制这些数字。如何在 NSTableViews 中实现此功能。

copy rows nstableview

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

64位JVM上的Object引用的内存要求

对32位JVM(至少在Hotspot上)上的对象的引用占用4个字节.

64位Hotspot JVM需要8个字节吗?或者是一些巧妙的压缩?如果没有,每个Object[]都需要两倍的堆内存,我不知怎的想(希望,期望)不是这样.

更新/额外问题:这是否真的重要,或者这是一个可以忽略不计的增加,因为大多数引用指向远大于几个字节的对象(而有人可能会争辩说这些对象主要包含对其他对象的引用) ?

java 64-bit jvm memory-management

17
推荐指数
2
解决办法
4221
查看次数

注册自定义表单,以便我可以从多个项目继承它,而无需将表单复制到Object Repository文件夹

我有一个我需要在多个项目中继承的自定义框架.这个框架包含一些代码和一些组件,它位于磁盘上的某个位置,位于它自己的项目目录中.我不想将它复制到Object Repository文件夹,这对我来说似乎不对:我最终有两个表单副本,一个在我的Mercurial支持的存储库中,一个在Delphi的Object Repository中.绝对不是个好主意.

我想要的是让我的框架在一个包中,并让包执行使IDE知道框架所需的所有内容,并允许IDE创建给定框架的新兄弟,而无需实际将框架添加到每个项目.

到目前为止我做了什么,我遇到的问题,我试过的解决方案:

  1. 我将我的框架包,使用这两种注册我的框架RegisterClassRegisterNoIcon. 问题:当我进入一些其他的项目,并尝试打开得出的帧编辑它说,它无法找到我原来的框架.
  2. 为了解决问题"1",我想我必须将我的框架注册为自定义模块.所以我打电话给RegisterCustomModule(TMyFrameName, TCustomModule).问题:在"其他"项目中,我打开派生框架,IDE不会在原始框架上创建组件,并且IDE抱怨其中一个"继承"组件缺失.
  3. 要修复"2",我以为我会通过调用给IDE一个帮助InitInheritedComponent(Self, TFrame).这有助于,当我尝试在"其他"项目中打开框架时,所有内容都重新创建,我能够按照我的预期看到框架.问题:当我保存框架时,它会忘记所有有关继承组件的内容,将每个组件视为添加到此特定框架的新组件.如果我查看保存的DFM,一切都以"对象"开头,没有任何东西以"继承"开头,正如我所料.

不幸的是我遇到了问题"3".我尝试深入研究Classes.pas,ToolsAPI,DesignIntf​​和DesignEditors,但没有找到任何有用的东西.显然我希望在DFM中看到的"继承"属性是由TWriter在流式传输TComponent之前分配"TWriter.Ancestor"属性时生成的,但是我无法设置它,IDE需要设置它起来.我不能说服IDE为我做这件事.

以下是累积的相关代码部分:

TTestFrame = class(TFrame)
public
  constructor Create(Owner:TComponent);override;
end;

constructor TTestFrame.Create(Owner: TComponent);
begin
  inherited;
  if csDesignInstance in ComponentState then InitInheritedComponent(Self, TFrame);
end;

procedure Register;
begin
  RegisterClass(TTestFrame);
  RegisterNoIcon([TTestFrame]);
  RegisterCustomModule(TTestFrame, TCustomModule);
end;
Run Code Online (Sandbox Code Playgroud)

任何想法,除了"放弃并将你的东西放入对象存储库"?谢谢!


编辑

为什么我需要这样做以及为什么依赖于实际路径名称的解决方案被写入我的项目文件中的原因不起作用:我想支持分支:当一个分支时,合理地期望同一个项目的多个版本"活着"同一台机器上的不同目录.推论,我不能在同一个地方同时拥有同一个项目的多个版本.

为了确保这项工作,我决定让我的项目不依赖于生活的地方,为了实施这一点,我的团队克隆(Mercurial术语)或Check Out(SVN术语)的每个人都在不同的目录中.我系统上的硬编码路径在我的同事系统中不会很好:如果我们中的任何一个人犯了将任何路径硬编码到应用程序中的错误,那么它不久就会对我们中的一个进行制动,所以错误得到修复.

这当然是我们需要继承的某些库(因此它们不在我们项目的目录中)的一部分的表单和框架的问题!为了在处理这些文件时获得IDE支持,我们需要暂时将它们添加到项目中,我们不必忘记在完成后删除它们.如果我们忘记并推送/检查更改,更改将为我们的同事制造构建(因为他们在不同位置检查了库).

为了解决这个问题,我尝试将这些框架和表单添加到设计时包中(使用完整路径将包加载到IDE中,但路径不是项目文件的一部分,所以没关系).不幸的是,这失败了,我发布了这个问题.

forms delphi repository delphi-2010

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

使用PowerShell解析逗号分隔文件

我有一个文本文件,其中包含几行,每行都是逗号分隔的字符串.每行的格式是:

<Name, Value, Bitness, OSType>

Bitness并且OSType是可选的.

例如,文件可以是这样的:

Name1, Value1, X64, Windows7
Name2, Value2, X86, XP
Name3, Value3, X64, XP
Name4, Value3, , Windows7
Name4, Value3, X64 /*Note that no comma follows X64 */
....
....
Run Code Online (Sandbox Code Playgroud)

我想将每一行解析成4个变量并对其执行一些操作.这是我使用的PowerShell脚本..

Get-Content $inputFile | ForEach-Object {
    $Line = $_;

    $_var = "";
    $_val = "";
    $_bitness = "";
    $_ostype = "";

    $envVarArr = $Line.Split(",");
    For($i=0; $i -lt $envVarArr.Length; $i++) {
        Switch ($i) {
            0 {$_var = $envVarArr[$i].Trim();}
            1 {$_val = $envVarArr[$i].Trim();}
            2 …
Run Code Online (Sandbox Code Playgroud)

.net regex csv powershell

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

Javascript秒到分钟和秒

这是一个常见的问题,但我不确定如何解决它.下面的代码工作正常.

var mind = time % (60 * 60);
var minutes = Math.floor(mind / 60);

var secd = mind % 60;
var seconds = Math.ceil(secd);
Run Code Online (Sandbox Code Playgroud)

但是,当我达到1小时或3600秒时,它返回0分0秒.如何避免这种情况,以便返回所有分钟?

谢谢

javascript

151
推荐指数
14
解决办法
18万
查看次数

如何创建一个模式绑定函数,该函数计算xml中的节点,然后能够将此结果保存在列中

我有一个xml列,我想在相邻的列中保留一个节点计数.

例如,在下面给出的xml中,我有3个节点a,所以我想输出它.

但是,我遇到的问题是我无法创建一个通用的模式绑定函数,该函数将使用@xml和@nodeName以返回指定节点的计数.

create function dbo.fnXmlCount_a (@xml xml) 
returns int with schemabinding
as begin
return (@xml.value('count(//a)', 'int'))
end

declare @xml xml;
set @xml = '
<r>
 <a></a>
 <b></b>
 <a></a>
 <c>
  <a></a> 
 </c>
</r>'

select dbo.fnXmlCount_a(@xml) aCount
Run Code Online (Sandbox Code Playgroud)

最后一次操作的结果是:

aCount
3
Run Code Online (Sandbox Code Playgroud)

然后我在该表上创建一个具有此xml字段的列,如下所示:

alter table [XmlTable] add column [aCount] as (dbo.fnXmlCount_a([xml])) persisted
Run Code Online (Sandbox Code Playgroud)

但我真正想做的是:

alter table [XmlTable] add column [aCount] as (dbo.fnXmlNodeCount([xml], 'a')) persisted
Run Code Online (Sandbox Code Playgroud)

谢谢!

更新:

我们都知道这//很慢,所以如果你能弄清楚如何通过这条路径来搜索另一个变量,那就太好了.默认情况下,此搜索路径将是//.

sql t-sql sql-server sql-server-2005 sql-server-2008

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

这与基地的区别

我很想知道thisbase对象之间的区别C#.使用它们时的最佳做法是什么?

c# this

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

查找数组中元素总和最大的子序列

我最近采访了一家公司,他们让我写一个算法,找到数组中元素总和最大的子序列.数组中的元素可以是负数.是否有O(n)解决方案?非常感谢任何好的解决方案.

c c++ algorithm

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

SQL基本问题'!='vs'<>'vs'不'

可能重复:
在T-SQL中测试不等式

嗨,

有没有什么不同使用'!='vs'<>'vs'不'?

哪一个会有最糟糕的表现

或者仅仅因为向后兼容性语法而存在?

sql t-sql sql-server

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

如何加快通过DOCTYPE加载DTD

我需要加载一些在顶部有这个的xhtml文件:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
Run Code Online (Sandbox Code Playgroud)

每个文件都将加载到单独的System.Xml.XmlDocument中.由于DOCTYPE声明,它们需要很长时间才能加载.我尝试设置XmlResolver = null,但后来我抛出了XmlException,因为我有无效的实体(例如,").所以我认为我可以为第一个XmlDocument下载DTD,并以某种方式将其重用于后续的XmlDocuments(从而避免性能损失),但我不知道如何做到这一点.

我正在使用.Net 3.5.

谢谢.

.net c# xml

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