我有一个我编写的文本编辑器,它在过去一个月里一直运行良好,没有任何问题.但今天,一切昨日,每次我打开从资源管理器(双击它)一个txt文件,而不是它开在我的编辑,会出现一条消息说:
文本编辑器遇到问题,需要关闭.对于给您带来的不便,我们深表歉意.[发送错误报告]或[不发送].
当我点击"此错误报告包含什么"时,它显示以下内容:
EventType : clr20r3 P1 : texteditor.exe P2 : 1.0.0.0 P3 : 4ad32c52
P4 : mscorlib P5 : 2.0.0.0 P6 : 492b834a P7 : 343f P8 : d8
P9 : system.io.filenotfoundexception
Run Code Online (Sandbox Code Playgroud)
所以这基本上告诉我它正在寻找一个不存在的文件.但这是我的问题:
我试图打开的文件存在,因为我只是双击它
以下是打开从Windows资源管理器双击的文件的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace TextEditor
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
if (args.Length >= 1)
{
Form1 f = new …Run Code Online (Sandbox Code Playgroud) 如果我遗漏了一些显而易见的东西,我会道歉,但有些东西让我对Eclipse代码格式化程序感到困惑.我不希望它使任何代码行更长,更短.有没有办法强制格式化程序以这种方式行为?
例1:
if (somethingIsTrue() || somethingElseIsTrue()) {
//-- Do Something.
}
Run Code Online (Sandbox Code Playgroud)
例2:
if (somethingIsTrue() ||
somethingElseIsTrue()) {
//-- Do something.
}
Run Code Online (Sandbox Code Playgroud)
我不希望格式化程序触及这些代码块中的任何一个.目前,它将始终扩展第二个示例以匹配第一个示例.我不希望这样.
有任何想法吗?
背景:我有一个sqlite文件,在其属性中标记为COPY.当我在VS2008中调试我的WinForms应用程序(或运行它)时,它做了正确的事情并将其复制到调试/运行区域.
问题:当我运行单元测试(使用VS2008单元测试)时,它没有执行此副本.任何人都知道如何使这个工作?因此,在VS2008尝试运行单元测试之前,我的sqlite数据库文件将被复制
MySQL如何在内部存储时间戳?它是一个int,或一个字符串或其他东西?
假设我有两个扩展的类Event:
public class CustomEventOne extends Event
{
public static const EVENT_TYPE_ONE:String = "click";
//... rest of custom event
Run Code Online (Sandbox Code Playgroud)
和
public class CustomEventTwo extends Event
{
public static const EVENT_TYPE_TWO:String = "click";
//... rest of custom event
Run Code Online (Sandbox Code Playgroud)
是否可以使用相同的字符串声明事件类型"click"?
或者事件类型标识符在整个应用程序中是否必须是唯一的?
我来自Java并试图学习C++.
据我所知,使用指针非常类似于引用变量在Java中的工作方式,因为您将内存地址传递给值.所以我觉得我对他们有了很好的理解.我也明白这些变量存储在堆上.
但是,我看到有另一种方法可以在C++中声明变量,而新的操作符/指针只是执行以下操作:
Employee boss("Frank");
Run Code Online (Sandbox Code Playgroud)
这将创建一个以"Frank"作为参数的Employee值.这些变量存储在堆栈中.
那么,你有两种截然不同的创建变量的方式,它们都有自己独特的行为(内存管理也是如此?).
我的问题是,何时使用指针VS值是否合适?什么是最佳做法?我怎么知道我想以什么方式在大多数时候声明我的变量?
我需要显示许多文本字符串的列表,每个字符串都在一行上.
我需要项目可选,所以我不能使用ItemsControl.
我只需要一个"列"而没有排序,所以DataGrid可能太重了(???)我需要多达1000个项目,所以Listbox可能太轻了(???)
什么Silverlight控件(或Toolkit控件)最适合这种用途?
我真的应该知道这一点,但有人会告诉我如何在Linux上更改默认数据库吗?
例如:
我有一个数据库test1上server1使用ORACLE_SID=test1.所以,连接到test1我可以使用:
sqlplus myuser/password
Run Code Online (Sandbox Code Playgroud)
连接到默认数据库, test1
我现在想将默认的sqlplus连接转到test2服务器上的数据库server2.
所以,我已经更新了tnsnames,以便旧test1条目现在指向test2@server2.我还为test2这一点添加了一个单独的条目到同一个地方.但是,默认连接似乎仍然存在test1@server1.
以下都工作得不错,去数据库test2上server2:
sqlplus myuser/password@test1
sqlplus myuser/password@test2
Run Code Online (Sandbox Code Playgroud)
但是默认连接sqlplus myuser/password是test1@server1.
有任何想法吗?
谢谢.
欢迎.我有一个通用的void方法交换,它接受一个Map和2个键.该方法将交换与Map中的键相关联的值.我已经检查过两个键都包含在Map的其他地方,但在这个方法中,我不能使用循环.我的方法回答:
public static<K, W> swap(Map<K,V m, K key1, K key2>){
m.put(key2, m.put(?)) // I don't really understand what I would have to
// put in this part, so how would i have to remember
// the 1st key, would I just set the value to
// a new initialized key?
}
Run Code Online (Sandbox Code Playgroud) 我的主机不处理SVN.
我想要的是能够通过ftp发送整个svn版本,所以我相信我不会忘记上传文件.
你们知道任何可以帮助我做到这一点的工具吗?