任何人在7或Vista上有任何Delphi和Windows Aero的良好资源吗?
我们正准备将Windows 7添加到我们公司,并希望确保我们的内部应用程序尽可能适合使用.
使用Delphi 2010我可以添加Glass Frame,菜单栏继承了Aero外观,但TabControls,Grids和Status栏都显示为过时.
有帮助吗?
对于DOM元素,如何获取css中为特定元素指定的所有样式?这是迭代所有CSS样式名称的情况吗?
还是有更优雅的方式?Firebug是如何做到的?
谢谢
让(Java)程序在上次运行时识别崩溃的最佳方法是什么,并显示一条消息"看起来这个程序上次崩溃了.请在这里报告此问题:bla@foo.com. ......"
有推荐的方法吗?(坏?)我的想法是:
我有一个treeView项的模板:
<HierarchicalDataTemplate x:Key="RatesTemplate">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Path=ID}"/>
<Button CommandParameter="{Binding Path=ID}"
Command="{Binding ElementName=CalcEditView, Path=DataContext.Add}">Add</Button>
</StackPanel>
</HierarchicalDataTemplate>
Run Code Online (Sandbox Code Playgroud)
作为DataContext,我有一个ID为非空字段的linq实体.
问题是:如果我使用CanExecutedMethod的DelegateCommand'Add':
AddRate = new DelegateCommand<int?>(AddExecute,AddCanExecute);
Run Code Online (Sandbox Code Playgroud)
它只调用一次,参数为null(而textBlock显示正确的ID值).在调用ID属性之前调用CanExecute(使用调试器检查).似乎在绑定到实际参数之前,wpf正在调用canExecute并忘记它.绑定完成并加载正确的值后,它不会再次调用CanExecute.
作为一种解决方法,我可以使用只有执行委托的命令:
Add = new DelegateCommand<int?>(AddExecute);
Run Code Online (Sandbox Code Playgroud)
使用正确的ID值调用AddExecute并且工作正常.但我仍然想使用CanExecute功能.有任何想法吗?
我有很多想要添加到数组中的东西,我不知道数组的大小是多少.我可以在javascript中执行类似于c#arraylist的操作,并myArray.Add(object);重复操作吗?
我被分配到多线程java服务器的一些性能和随机崩溃问题.尽管线程和线程安全对我来说并不是真正的新主题,但我发现设计一个新的多线程应用程序可能比尝试调整一些遗留代码困难一半.我浏览了一些着名的书籍以寻找答案,但奇怪的是,只要我阅读并分析所提供的例子,一切看起来都很清楚.然而,第二个我看看我应该工作的代码,我不再确定任何事情!必须是太多的理论知识和一些现实世界的经验或其他东西.
无论如何,回到主题,因为我正在做一些在线研究,我遇到了这段代码.一直困扰着我的问题是:在没有同步的情况下从两个独立的线程调用套接字上的getInputStream()和getOutputStream()是否真的安全?或者我现在对整个线程安全问题有点过于偏执?猜猜这就像连续第5本书中的内容一样,告诉你有多少东西可能出现并发问题.
PS.对不起,如果这个问题有点冗长或者说'noobie',请放轻松 - 这是我在这里的第一篇文章.
编辑:为了清楚起见,我知道套接字在全双工模式下工作,并且可以安全地同时使用它们的输入和输出流.当您在主线程中获取这些引用然后使用这些引用初始化线程对象时,我似乎很好,但是在两个不同的线程中获取这些流也是安全的吗?
@rsp:
所以我检查了Sun的代码,然后PlainSocketImpl就这两种方法进行同步,就像你说的那样.Socket但是,没有.getInputStream()并且getOutputStream()几乎只是包装器SocketImpl,所以可能并发问题不会导致整个服务器爆炸.但是,有一些不幸的时机,似乎事情可能会出错(例如,当方法已经检查错误条件时,某些其他线程关闭套接字).
正如您所指出的,从代码结构的角度来看,为每个线程提供流引用而不是整个套接字是个好主意.我可能已经重构了我正在处理的代码,如果不是因为每个线程也使用套接字的close()方法(例如当套接字接收"shutdown"命令时).据我所知,这些线程的主要目的是将消息排队以便发送或处理,因此可能是单一责任原则违规,并且这些线程不能关闭套接字(与分离的调制解调器接口相比) ?但是如果我长时间分析代码,看起来设计通常是有缺陷的,整个过程需要重写.即使管理层愿意付出代价,认真重构遗留代码,没有任何单元测试以及处理难以调试的并发问题,也可能弊大于利.不是吗?
我写了一些代码,但我无法编译它:
#include <cstdio>
#include <vector>
using namespace std;
class Visitor;
class Land {
public:
virtual void accept(const Visitor *v);
};
class England : public Land {
public:
void accept(const Visitor *v);
};
class Russia : public Land {
public:
void accept(const Visitor *v);
};
class Visitor {
public:
void visit(const England *e) const;
void visit(const Russia *r) const;
};
class Trip {
private:
vector<Land> *l;
public:
explicit Trip(vector<Land> *_l);
void accept(Visitor *v);
};
/**/
void Visitor::visit(const England *e) const { … 有人知道Python(任何版本)是否使用NFA(非确定性有限自动机)来评估正则表达式还是使用其他机制?如果可以,请提供链接/参考.
struct DummyStruct{
unsigned long long std;
int type;
};
DummyStruct d;
d.std = 100;
d.type = 10;
/// buggy printf, unsigned long long to int conversion is buggy.
printf("%d,%d\n",d.std, d.type); // OUTPUT: 0,100
printf("%d,%d\n", d.type, d.std); // OUTPUT: 10,100
printf("%lld,%d\n",d.std, d.type); // OUTPUT: 100,10
Run Code Online (Sandbox Code Playgroud)
请告诉我为什么在printf中没有正确处理unsigned long long to int转换.我正在使用glibc.
这是printf中的错误吗?
为什么printf不进行内部类型转换?
有人可以向我解释我如何转换
2009-10-27 14:36:59.580250
成
27.10.2009,14:36?
第一个日期作为字符串提供,第二个日期也应该是一个字符串;)到目前为止,我还没有在Java中进行日期转换......
提前致谢!