我正在尝试从命令行编译项目,如下所示:
devenv.exe myproj.sln /build release
Run Code Online (Sandbox Code Playgroud)
看起来代码编译得很好,但这不是我所需要的:
我希望能够在编译器出现时捕获输出(例如警告,错误).不幸的是,一旦我发出上述命令,我就会返回命令提示符.
当我查看process-explorer或taskmgr.exe时,我可以看到devenv.exe进程(以及其他一些子进程)正在运行.如果我查看输出文件夹,我可以看到我的所有文件逐渐出现.
是否有一种方法可以让VCC像GCC一样工作 - 当我发出构建命令或使用Makefile创建项目时,我得到一个消息流和控制台块,直到该过程完成.
更新:谢谢,两个出色的解决方案.我可以确认它有效.
我正在尝试编写一个模式,用于提取HTML中img标记中找到的文件的路径.
String string = "<img src=\"file:/C:/Documents and Settings/elundqvist/My Documents/My Pictures/import dialog step 1.JPG\" border=\"0\" />";
Run Code Online (Sandbox Code Playgroud)
我的模式:
src\\s*=\\s*\"(.+)\"
Run Code Online (Sandbox Code Playgroud)
问题是我的模式还将包含img标签的'border ="0"部分.
什么模式匹配此文件的URI路径而不包括'border ="0"?
用例很简单.在某个时间点,我需要能够向用户显示他熟悉的撰写电子邮件对话框(Outlook或其他)
除非用户明确表示,否则不应发送邮件.
我曾经在OL'VB6时代做过这件事.现在无法弄清楚...我只记得那很容易.
托管应用,C#,.net 3.0+
更新#1:是的,似乎mailto删除了对附件的支持(作为安全风险?).我试过了
您需要包含ShellExecute签名,如此处所述.我从中得到的只是一个5 SE_ERR_ACCESSDENIED和2只是为了一些变化
string sMailToLink = @"mailto:some.address@gmail.com?subject=Hey&body= yeah yeah yeah";
IntPtr result = ShellExecute(IntPtr.Zero, "open", sMailToLink, "", "", ShowCommands.SW_SHOWNORMAL);
Debug.Assert(result.ToInt32() > 32, "Shell Execute failed with return code " + result.ToInt32());
Run Code Online (Sandbox Code Playgroud)
同样的MailtoLink与Process.Start完美配合......但只要您不提及附件.
System.Diagnostics.Process.Start(sMailToLink);
Run Code Online (Sandbox Code Playgroud)
其他选项使用Outlook对象模型来执行此操作..但我被告知这需要您根据安装的Outlook的确切版本添加程序集引用.如果用户不喜欢MS用于电子邮件,这也会爆炸.
下一个选项是Mapi和一个名为Mapi33的东西.状态仍在进行中.耳朵仍然接受建议.
目前我们的团队正在使用MoinMoin作为IT维基,它非常好.
我们希望推广使用wiki给最终用户,因为他们中的一些人感兴趣.例如,在维基上,我们将共享和编辑应用程序的要求.
我认为MoinMoin并不是更加用户友好(但我喜欢使用它),这就是我们为最终用户/客户寻找最佳用户友好维基的原因
我正在设计一个图形应用程序,我决定编写自己的菜单.我希望这个菜单与平台无关.目前,我的菜单主要包含许多按钮.我的问题涉及单击按钮时处理事件.我的困境是一个按钮"知道"它存在的背景.在我看来,如果有一些更大的代码创建按钮和处理鼠标事件,可能会出现某种类型的switch语句的需要.switch语句必须根据单击的唯一定义按钮调用相应的操作.
我想避免这个switch语句.我的第一个想法是让每个按钮都保持一个函数指针,用于在单击时盲目地启动正确的操作.这将消除任何特定于按钮的代码.然而,它让我觉得按钮应该包含任何特定于上下文的信息(例如函数指针).我相当缺乏经验,我想知道这是否被认为是糟糕的设计.无论如何,我如何以不需要某种类型的开关语句的方式设计我的菜单并被认为是良好的OOP设计?我想听听您的首选解决方案.
提前致谢!
我有一个包含20个字段的.aspx表单,必须根据用户角色和订单记录的状态禁用.目前,该应用程序有5个角色和3个状态,因此我有300个不同的可能条件,我必须考虑.
我的第一个想法是将每个排列存储在一个表中,然后通过循环遍历字段来加载页面时设置字段.有没有更好的办法?请注意,我使用的是.Net 2.0而不是MVC.
我收到以下错误:
javax.servlet.ServletException: Cannot find a matching 1-argument function named {http://exslt.org/dynamic}evaluate()
at org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:841)
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:774)
Run Code Online (Sandbox Code Playgroud)
我的xslt文件的顶部是
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"
xmlns:dyn="http://exslt.org/dynamic"
extension-element-prefixes="dyn">
Run Code Online (Sandbox Code Playgroud)
你知道为什么我会收到这个错误吗?
UPDATE
我的XML文件的顶部现在读取.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"
xmlns:xalan="http://xml.apache.org/xalan"
exclude-result-prefixes="xalan">
Run Code Online (Sandbox Code Playgroud)
我们失败的XML是
<xsl:template name="test">
<xsl:param name="param" />
<xsl:value-of select="$param"/>
<xsl:value-of select="xalan:evaluate($param)"/>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)
此代码适用于运行Tomcat 5.0的一台服务器,但不能在运行Tomcat 5.5的服务器上运行.我想是因为代码在一台服务器上运行而不是环境问题.
XSLT通过JSP页面应用于XML.对我来说,看起来没有使用xalan.jar文件.JSP的顶部是:
<%@page import="javax.xml.transform.*"%>
<%@page import="javax.xml.transform.stream.*"%>
<%@page import=" java.security.Principal,
java.net.URL,
java.net.URLConnection,
java.io.InputStream,
java.io.InputStreamReader,
java.io.Reader,
java.io.BufferedReader,
java.io.File,
javax.xml.transform.*,
javax.xml.transform.stream.*,
javax.xml.transform.*,
javax.xml.transform.stream.*"%>
Run Code Online (Sandbox Code Playgroud)
更新 问题是Saxon被选为XML解析器.Saxon不支持此功能.删除Saxon.jar可以解决问题.
问题
Declare语句链接到一个DLL,其路径可以在VBA宏中确定试图解决方案
我尝试Declare使用ThisDocument.VBProject.CodeModule.AddFromString(code)从正常目录加载模板时使用的语句动态添加代码,但是当模板在Word\STARTUP中时,它会给出以下错误:
运行时错误'50289':
由于项目受到保护,无法执行操作.
并且当模板在Word\STARTUP中时,将注册表项"HKEY ___ LOCAL_MACHINE\Software\Microsoft\Office\11.0\Word\Security\AccessVBOM"设置为1不会解决此问题
我真的很难找到解决方案.如果有人知道这样做的方法,那就太好了.
更新:这是我实施的哈希定时轮.如果您有提高性能和并发性的想法,请告诉我.(20月- 2009年)
// Sample usage:
public static void main(String[] args) throws Exception {
Timer timer = new HashedWheelTimer();
for (int i = 0; i < 100000; i ++) {
timer.newTimeout(new TimerTask() {
public void run(Timeout timeout) throws Exception {
// Extend another second.
timeout.extend();
}
}, 1000, TimeUnit.MILLISECONDS);
}
}
Run Code Online (Sandbox Code Playgroud)
更新:我通过使用Hierarchical和Hashed Timing Wheels解决了这个问题.(19月- 2009年)
我正在尝试在Java中实现一个特殊用途计时器,它针对超时处理进行了优化.例如,用户可以使用死线注册任务,并且计时器可以在死线结束时通知用户的回调方法.在大多数情况下,注册任务将在很短的时间内完成,因此大多数任务将被取消(例如task.cancel())或重新安排到将来(例如task.rescheduleToLater(1,TimeUnit.SECOND)) .
我想使用此计时器来检测空闲套接字连接(例如,在10秒内没有收到消息时关闭连接)和写入超时(例如,当写操作未在30秒内完成时引发异常.)在大多数情况下,超时不会发生,客户端将发送一条消息,除非有一个奇怪的网络问题,否则将发送响应.
我不能使用java.util.Timer或java.util.concurrent.ScheduledThreadPoolExecutor,因为它们假设大多数任务都应该超时.如果取消任务,则取消的任务将存储在其内部堆中,直到调用ScheduledThreadPoolExecutor.purge(),这是一项非常昂贵的操作.(也许是O(NlogN)?)
在我在CS类中学到的传统堆或优先级队列中,更新元素的优先级是一项昂贵的操作(在许多情况下为O(logN),因为它只能通过删除元素并重新插入元素来实现.新的优先级值.像Fibonacci堆的一些堆有减少Key()和min()操作的O(1)时间,但我至少需要快速的raiseKey()和min()(或者reduceKey()和max()) .
您是否知道针对此特定用例高度优化的任何数据结构?我正在考虑的一个策略是将所有任务存储在哈希表中并每隔一秒左右迭代所有任务,但这并不是那么美妙.