当用户QTableView通过鼠标选择行(单选模型)时是否有信号发出?
我为Delphi编写了很多组件和库,其中大部分都需要使用BPL Packaging才能将它们安装到IDE中.
这很简单并且运行良好,直到你想要维护一组Package Project Files(在一个Project Group中),但是也想为不同的Delphi版本编译和分发那些相同的包.
到目前为止,我一直在为每个版本的Delphi创建一个不同的Package Project,并明确地将Delphi版本标识符定义为后缀(例如Kinect_XE.bpl和Kinect_XE2.bpl).
我知道,在包项目的项目选项中,在描述下,有字段LIB前缀和(更重要的是我的需要)LIB后缀.
我进一步意识到,如果我在LIB后缀中放置一个值,它将被附加到已编译的BPL文件名的末尾.
然而,我的问题是,首先是否可以让IDE自动使用IDE/RTL版本号填充LIB后缀字段,如果是,那么......怎么样?
我相当肯定这是可能的,因为看起来vcl120.bpl(及其各自版本的Delphi的对应物)可以仅使用vcl引用(作为要求)您自己的包,而不必键入完整的vcl120.事实上,这是我希望实现的相同行为......我的包可以在内部引用彼此(作为必要),而不必提供特定于版本的引用来容纳后缀.
同样重要的是,解决这个问题将使我能够在一个项目组中维护一组项目文件(除了XE2之外,由于平台的添加,其项目文件与以前版本的Delphi不一定表现得很好).
我怀疑我可能需要在LIB后缀字段中输入类似$(VER)(或类似的东西)的值,但这似乎不起作用,我已经搜索谷歌寻找正确的解决方案.
希望你能帮忙!
更新1
我现在正在编写一个IDE插件,用于(至少)Delphi 2007到XE2,它为DLL和BPL项目提供了一个名为AutoSuffix的新选项.当切换为On时,任何安装了AutoSuffix插件的IDE 都会立即将正确的IDE版本后缀应用于项目.
该AutoSuffix插件将在未来24小时内提供(免费)适合所有人,这个问题相应地更新.
更新2
好的...... Delphi 2007很痛苦!到目前为止,我已经将AutoSuffix与2009年的XE2合作,但2007年需要更多时间(耐心赞赏).
更新3
似乎Embarcadero听到了我们对版本之间简化包装统一的集体呼声.
Mark将推动这一过程,看看未来版本的Delphi是否可以容纳{$ LIBSUFFIX AUTO}功能.我希望很快能收到回复是否会出现这种情况.如果是这样,它肯定会影响AutoSuffix在XE2和旧版本上的工作方式(目前它不提供简单的AUTO开关......它有自己的方法).
我现在希望EMB能够认真对待这个请求,将其作为一个不可或缺的特征提供给它,这样就可以在现有版本上使用AutoSuffix来统一所有版本的流程!
谁有权决定?
编辑:显然我没有成功地完善我的问题.
我不是在问Java的论证是如何传递的.我知道看起来像持有对象的变量实际上是一个包含对象引用的变量,并且该引用是按值传递的.这里有很多很好的解释(在链接的线程和其他线程中)和其他地方.
问题是关于术语传递的技术含义.(结束编辑)
我不确定这是否是SO的正确问题,如果没有道歉,但我不知道更好的地方.在这里的其他问题中已经说了很多,例如Java是"传递参考"还是"传递价值"?并通过引用或通过值传递?,但我没有找到该术语含义的权威答案.
我认为"通过引用传递"意味着"将引用(通常是指针)传递给对象",因此被调用者可以修改调用者看到的对象,而"按值传递"意味着复制对象,并让被调用者玩得开心(显而易见的问题:如果对象包含引用,深层复制或浅层).
唱FW变成了很多 的 地方 说: "按引用传递"的意思只是说,这里有一些说法,这意味着更多的,但仍然定义读
一种ParameterPassing模式,其中将实际参数的引用(或者如果你想在政治上不正确,指针)传递给形式参数; 当被调用者需要形式参数时,它取消引用指针以获取它.
我没有发现许多地方给出了更强的术语定义,在这个页面上,我发现"形式参数的左值设置为实际参数的左值".并且,如果我理解正确,这里使用相同的定义("形式参数仅作为实际参数的别名.")
事实上,我发现使用更强定义的唯一地方是反对这样一种观点,即在Java中,对象是通过引用传递的(这可能是由于我缺乏google-fu).
所以,如果我把事情弄清楚,那就是通过参考传递
class Thing { ... }
void byReference(Thing object){ ... }
Thing something;
byReference(something);
Run Code Online (Sandbox Code Playgroud)
根据第一个定义大致对应(在C中)
struct RawThing { ... };
typedef RawThing *Thing;
void byReference(Thing object){
// do something
}
// ...
struct RawThing whatever = blah();
Thing something = &whatever;
byReference(something); // pass whatever by reference …Run Code Online (Sandbox Code Playgroud) 我有一个haskell程序,根据输入n列出[1..n]中的所有整数.我想根据条件过滤某些数字并显示为列表.我在哪里以及如何使用过滤功能/条件?
根据haskell文档:
filter :: (a -> Bool) -> [a] -> [a]
Run Code Online (Sandbox Code Playgroud)
filter,应用于谓词和列表,返回满足谓词的那些元素的列表; 即
filter p xs = [ x | x <- xs, p x]
Run Code Online (Sandbox Code Playgroud) 在"编程Erlang"一书中,它说该语言使用"单一赋值"变量.在关于函数式编程语言的其他文章中,我总是读到"不可变值".
措辞"单一分配"是否意味着与"不可变价值"不同的东西?
insert ignore into table1
select 'value1',value2
from table2
where table2.type = 'ok'
Run Code Online (Sandbox Code Playgroud)
当我运行这个时,我收到错误"缺少INTO关键字".
有任何想法吗 ?
我正在搞乱,HashMap并试图用Data.Bson.ObjectId一把钥匙.当然,我发现Hashable该结构没有实例.没关系,因为写一个是微不足道的.1
instance Hashable ObjectId where hash (Oid x y) = hash (x,y)
Run Code Online (Sandbox Code Playgroud)
我将该行键入GHCi并被告知"输入`实例'上的解析错误".这实际上是有意义的,因为GHCi提示操作就好像在IO monad中将行键入到do块中,并且在此上下文中无法定义实例.
那么我的问题是,有没有办法在GHCi中定义一个新实例?
1为什么库不提供此实例是另一回事.我相信答案是限制依赖性,除了bson包已经依赖于太阳下的一切.
我有一个我要排序的数组数组.数组A的每个元素是一个包含3个元素的数组.数组A看起来像:
my @A = ([2,3,1], [1,2,3], [1,0,2], [3,1,2], [2,2,4]);
Run Code Online (Sandbox Code Playgroud)
我想按升序排序A. 比较2个元素时,使用第一个数字.如果存在平局,则使用第二个数字,然后使用第三个数字.
这是我的代码.我使用函数'cmpfunc'来比较2个元素.
sub cmpfunc {
return ($a->[0] <=> $b->[0]) or
($a->[1] <=> $b->[1]) or
($a->[2] <=> $b->[2]);
}
my @B = sort cmpfunc @A;
print "Result:\n";
for my $element (@B) {
print join(",", @{$element}) . "\n";
}
Run Code Online (Sandbox Code Playgroud)
结果:
1,2,3
1,0,2
2,3,1
2,2,4
3,1,2
Run Code Online (Sandbox Code Playgroud)
结果有些分类,但不正确.我的期望是:
1,0,2
1,2,3
2,2,4
2,3,1
3,1,2
Run Code Online (Sandbox Code Playgroud)
我的比较函数有错误吗?奇怪的是,当我将比较代码放入块中时,结果被正确排序.
my @C = sort { ($a->[0] <=> $b->[0]) or
($a->[1] <=> $b->[1]) or
($a->[2] <=> $b->[2]) } @A;
Run Code Online (Sandbox Code Playgroud) 现场演示:http://jsfiddle.net/thisizmonster/DveuB/
如何更改此选项,以便输入仅在键入时允许字符AZ,az,0-9,而不使用正则表达式?
我开始以势在必行的方式解决这个问题并且它起作用(DFS使用传统的三种着色技术).但是,我需要三倍的时间来弄清楚如何做Haskell而我失败了!假设我将图表表示为具有其邻接节点的节点的列表(或映射).
type Node = Int
type Graph = [(Node, [Node])]
Run Code Online (Sandbox Code Playgroud)
注意,上述表示可以是指向的或不指向的.在进行探测以检测后沿边缘时,我还将看到的集合和完成集合作为参数传递(因为在功能上没有副作用).但是,我不能在Haskell中做到这一点!我知道可能会使用State monad,但那件事并没有在我的脑海中完成.我很想知道怎么能有人指导我如何以"美丽的"Haskell风格做到这一点?
haskell ×4
alphanumeric ×1
bpl ×1
delphi ×1
erlang ×1
function ×1
ghc ×1
ghci ×1
input ×1
insert ×1
java ×1
javascript ×1
jquery ×1
oracle ×1
package ×1
parameters ×1
perl ×1
qt ×1
qtableview ×1
sorting ×1
sql ×1
terminology ×1
typeclass ×1
validation ×1