我必须创建一个自动化Outlook和Word的应用程序,我想使用Java来完成该任务.(唯一允许的替代方案是VB6,所以...)
经过Google快速调查后,我找到了几个库,但我不确定使用哪个库:
我不知道如何比较这些库并做出明智的决定.似乎COM4J有点过时,JACOB泄漏内存(据称)和jacoZoom是商业版.每个人似乎都需要很多样板代码才能执行简单的方法调用.(考虑到COM的设计,这可能是不可避免的)
除此之外,我不知道如何在其中一个之间做出选择.哪一个是最好的?
我经常读到,在Sun JVM中,短期对象("相对较新的对象")可以比长寿命对象("相对较旧的对象")更有效地进行垃圾收集.
我很难在主要表单上面显示第二个表单而不会失去焦点.
我试过了ShowWindow(second.handle, SW_SHOWNOACTIVATE),但主体失去了焦点.如果我Visible := false在第二个窗口上设置,则调用ShowWindow不会激活第二个窗体,但显示时窗口为空...
有没有人有这个好的食谱?
更新:我正在尝试做的是,在给定的事件中显示一个通知窗口.主要形式在任何时候都不会失去焦点,这一点至关重要.
我经常发现,当程序员或分配任务的程序员并不真正理解解决方案如何工作时,他们会随意添加内容直到它工作.
例子:
重新绘制一个窗口,由于某种原因,它不会像程序员那样被绘制:
Invalidate();
Revalidate();
ProcessMessages();
Update();
Repaint();
Repaint();
ProcessMessages();
Repaint();
Run Code Online (Sandbox Code Playgroud)
过度谨慎:
function test1(x: boolean)
begin
select case x
true: // do something
false: // do something else
else
raise Exception.Create("Invalid value.") // just to be sure
end;
end;
function test2(x: Integer);
var
y: Integer;
begin
y = Abs(x);
if y >= 0 then
begin
// do something
end;
end;
Run Code Online (Sandbox Code Playgroud)
虽然特别是过于谨慎的编码实践会导致大多数语言中的编译器警告,但我实际上已经在生产代码中看到了以上所有内容!
在大多数情况下,这种编码由程序员和/或老板辩护.原因总是归结为这种反应:
不幸的是,我没有充分的理由不这样做,虽然我仍然认为这是非常糟糕的风格,这可能会产生不良后果.
我可以提出一些事实,这种风格最终会产生不良后果吗?
编辑:谢谢你提出摆脱这种风格的好建议.但我仍然感兴趣的原因是我可以向同事们提出解释并可能说服他们的原因,为什么这很糟糕,为了他们的最佳利益而不是偏执狂.
是否有任何反汇编程序提供与IDA Pro相媲美的功能集?
我对免费和商业产品都很感兴趣.请为每个产品使用一个答案,如果可能,请写一个简短的评论,如"易于使用","许多功能","仅支持PE文件",...
我几个月来一直在关注这个问题,而且我主要发现网站都在问同样的问题.
我的答案却发现总是面向.NET或C++或参与XSLT.
我在示例应用程序中看到了使用商业JDBC驱动程序的这一行:
Class.forName("name.of.a.jcdb.driver")
Run Code Online (Sandbox Code Playgroud)
不使用返回值.
这条线的目的是什么?
我想创建一个基于功能区的GUI.在Java接口方面,我几乎是一个新手,我使用了基本的Swing工具包,但就是这样.
任何人都可以指出我正确的方向,如何做到我的用户界面更灵活,特别是能够创建一个"功能区"?
首先,我知道命令行参数,但我不想使用它,因为我想学习,而不仅仅是完成它,所以...
我在哪里可以设置用于运行Netbeans的JRE/JDK?
一点背景:
java ×5
classloader ×1
coding-style ×1
com ×1
debugging ×1
delphi ×1
disassembly ×1
focus ×1
jdbc ×1
msxml ×1
netbeans ×1
netbeans6.5 ×1
pretty-print ×1
rdoc ×1
ribbon ×1
ruby ×1
swing ×1
vb6 ×1
window ×1
yard ×1