
2008年5月4日
今天一同事在给客户的机器上安装系统的时候,出现了 Object reference not set to an instance of an object, 但从调用的堆椎上看,是从 .net framework 中抛出的异常:
[NullReferenceException: Object reference not set to an instance of an object.]
LoadLibraryW(UInt16* ) +0
System.EnterpriseServices.Thunk.Security.Init() +76
System.EnterpriseServices.Thunk.Security.SuspendImpersonation() +81
System.EnterpriseServices.Platform.Initialize() +503
System.EnterpriseServices.ResourcePool..ctor(TransactionEndDelegate cb) +11
System.Data.SqlClient.ConnectionPool..ctor(DefaultPoolControl ctrl) +797
System.Data.SqlClient.PoolManager.FindOrCreatePool(DefaultPoolControl ctrl) +170
System.Data.SqlClient.SqlConnectionPoolManager.GetPooledConnection(SqlConnectionString options, Boolean& isInTransaction) +358
System.Data.SqlClient.SqlConnection.Open() +384
LoadLibrary 函数中引发的异常, 这应该是不能加载 SQL SERVER 的 DLL。
但 SQL SERVER 使用很正常,害得这同事找了一个下午。
最后发现在是卡巴司机杀毒软件的问题,关掉就好了。
网上找了一下资料,很少人遇到这种情况:
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1488072&SiteID=1
http://bbs.et8.net/bbs/showthread.php?t=851817
posted @
2008-05-04 20:13 匡匡 阅读(68) |
评论 (0) |
编辑

2008年4月17日
在开发WEB程序时,经常使用 showModalDialog 或 showModelessDialog 来显示一个对话框,显示出的对话框窗口是没有
凹进去的效果,看起来就像一个 windows 程序一样,效果很不错。
但在开发时,还是经常使用 window.open 来打开一个网页,这显示的效果将会有一个
凹进去的边框,如下图:
以后通过一行简单的 CSS 把这个
凹进去的边框给去掉:
html { border:0px; }
效果如下图:
posted @
2008-04-17 23:23 匡匡 阅读(79) |
评论 (0) |
编辑

2008年4月13日
Windows Scripting Host 为我们提供了一个 WshShortcut 对象,可以使用此对象来创建快捷方式或获取快捷方式的信息
WshShortcut 有以下属性:
TargetPath:获取或设置快捷方式指向的目标文件的路径
FullName:获取或设置快捷方式的路径
Description:获取或设置快捷方式的说明
IconLocation:获取或设置快捷方式图标的位置
WindowStyle:获取或设置启动目标程序时所使用的窗口样式
HotKey:获取或设置用于启动目标程序的热键,只热键只能激活 WINDOWS 桌面和开始菜单中的快捷方式
WorkingDirectory:获取或设置目标程序的工作目录
Arguments:获取一个 WshArgument 对象的集合
WshShortcut 对象还有一个 Save 方法,用来保存快捷方式
不能直接 new 一个 WshShortcut 对象,需要使用 WshShell 对象的 CreateShortcut 方法:
WshShell shell = new WshShell();
WshShortcut link = shell.CreateShortcut("path"); // 如果指定的路径存在,则使用这此信息来创建一个 WshShortcut 对象
string targetPath = link.TargetPath; // 获取信息
link.Description = "使用程序设置的说明";
link.Save(); // 保存信息
如果需要在 .NET 中使用的话,需要在 COM 活页中引用 “Windows Scripting Host Object Model” 组件
posted @
2008-04-13 20:16 匡匡 阅读(26) |
评论 (0) |
编辑
看到很多应用程序可以打开一个文件夹,并自动选定某个文件,以为这样的功能实现起来可能会有点难,今天才发现在原来很简单,以下是从网上找的一篇关于 explorer 的文档:
explorer.exe的命令参数及其应用我们常需要在CMD命令行下打开文件夹,除了start命令外,还可以使用explorer.exe来打开文件夹,而且有不少参数可以方便我们的操作,下面是我在微软官方网站上面找到的关于EXPLORER的使用。
来自:http://support.microsoft.com/kb/307856/zh-cn
概要
本分步指南介绍了如何在 Windows XP 中使用 Windows 资源管理器命令行参数。
更多信息
使用命令行参数,您既可以自定义 Windows 资源管理器启动时使用的默认视图,也可以指定在从命令提示符启动时所看到的视图。
您可以在 Explorer.exe 命令中使用以下参数。
参数 结果
/n 为默认选择内容打开一个新的单窗格窗口。
默认选择内容通常是安装 Windows 的驱动器的根目录。
/e 使用默认视图启动 Windows 资源管理器。
/e, <object> 使用默认视图启动 Windows 资源管理器并把焦点定位在指定文件夹上。
/root, <object> 打开指定对象的一个窗口视图。
/select, <object> 打开一个窗口视图,指定的文件夹、文件或程序被选中。
从命令提示符下运行 Windows 资源管理器
若要从命令提示符下运行 Windows 资源管理器,请:
1. 单击开始,然后单击运行。
2. 在打开框中,键入 Explorer,然后单击确定。
示例
以下示例说明了 Windows 资源管理器参数的用法。
• Explorer /n
此命令使用默认设置打开一个资源管理器窗口。显示的内容通常是安装 Windows 的驱动器的根目录。
• Explorer /e
此命令使用默认视图启动 Windows 资源管理器。
• Explorer /e,C:/Windows
此命令使用默认视图启动 Windows 资源管理器,并把焦点定位在 C:/Windows。
• Explorer /root, C:/Windows/Cursors
此命令启动 Windows 资源管理器后焦点定位在 C:/Windows/Cursors folder。此示例使用
C:/Windows/Cursors 作为 Windows 资源管理器的“根”目录。
备注:请注意命令中“/root”参数后面的逗号。
Explorer /select, C:/Windows/Cursors/banana.ani
此命令启动 Windows 资源管理器后选定“C:/Windows/Cursors/banana.ani”文件。
备注
请注意命令中“/select”参数后面的逗号。
Windows 资源管理器参数可以在一个命令中进行组合。以下示例显示了 Windows 资源管理器命令行参数的组合。
Explorer /root, //server/share, select, Program.exe
此命令启动 Windows 资源管理器时以远程共享作为“根”文件夹,而且 Program.exe 文件将被选中
更改 Windows 资源管理器默认启动文件夹
若要更改 Windows 资源管理器的默认启动文件夹,请:
1. 单击开始,指向所有程序,指向附件,然后右键单击Windows Explorer。
2. 在出现的菜单上,单击属性。
3. 在“目标”框中,将“/root”命令行参数附加到“%SystemRoot%\Explorer.exe”命令之后,并使用您希望的启动位置。例如,如果您希望 Windows 资源管理器启动后定位在 C 驱动器的根,则请将该命令编辑为:
%SystemRoot%\Explorer.exe /root, C:\
4. 单击确定。
posted @
2008-04-13 17:11 匡匡 阅读(107) |
评论 (0) |
编辑

2008年4月11日
昨天在一个 CSS 里面加了一个 HTC 脚本后,一打开网页,就出会“网页已终止操作”的错误。
HTC 的主要内容是在 oncontentready 事件中对元素附加了一些事件,还调用了 document.body.appendChild 方法为 body 添加了一个子元素。
问题就出在 document.body.appendChild 这一句上面
因为是使用 oncontentready 事件,元素已经准备好了,但 BODY 还没有加载完成,所以在调用这一句时就会出现这样的问题
posted @
2008-04-11 09:32 匡匡 阅读(95) |
评论 (0) |
编辑

2007年11月20日
以前都是使用以下代码来实现这种功能的:
int[] array1 = {1,2,3,4,5,6,7,8,9,0};
int[] array2 = new int[5];
int i = 0;
while(i < array2.length)
{
int index = (int)Math.random() * array1.length;
int value = array1[index];
if(i == 0)
{
array2[i] = value;
i++;
continue;
}
// 为了保存数据不重复,循环检查 array2 中是否有重复的数据
for(int k = 0; k < i; k++)
{
if(array2[k] == value)
continue;
else
{
array2[i] = value;
i++;
}
}
}
这种方法效率不怎么好,而且代码比较长,下面以一种更简单的方法来实现这种功能:
int[] array1 = {1,2,3,4,5,6,7,8,9,0};
int[] array2 = new int[5];
int n = array1.length;
for(int i = 0; i < array2.length; i++)
{
int index = (int)(Math.random() * n);
array2[i] = array1[index];
array1[index] = array1[n - 1];
n--;
}
posted @
2007-11-20 20:11 匡匡 阅读(40) |
评论 (0) |
编辑

2007年11月18日
今天在写一个程序的时候,需要知道程序当前工作所在的目录,查找了一个 JAVA 类库,没有找到相应的方法,于是在网上找了一下,找了一种方法:
File file = new File("t.tmp");
String fullpath = file.getAbsolutePath();
posted @
2007-11-18 20:44 匡匡 阅读(283) |
评论 (1) |
编辑
在为系统提供一些配制信息的时候,以前都是使用 web.xml 文件的 context-param 标签来提供,从 web.xml 文件中读取 context-param 信息的时候,需要一个 HttpServletContext 对象,所以在需要从 web.xml 文件中读取信息的时候都需要一个 HttpServletContext 对象,这使我感觉有点麻烦。
今天看了一下 Properties 类,此类可以从一个文件中读取一些配制信息,使用起来也比较方便。
Properties 类可以读取两种格式的文件,一种是文本文件,别一种是 XML 文件。
文本文件的格式如下:
PARAM-NAME=VALUE
PARAM-NAME=VALUE
每一行一个参数名称和参数的值。
XML 文件的格式:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<entry key="PARAM-NAME">VALUE</entry>
</properties>
Properties 类通过 load(InputStream input) 方法来读取配制信息,然后通过 getProperty(String name) 方法来读取配制信息,Properties 类还可以通过 store 方法来保存配制信息。
posted @
2007-11-18 20:39 匡匡 阅读(37) |
评论 (0) |
编辑

2007年11月12日
以前从一个表中随机获取数据的时候,都是选把数据读取到程序中,然后在使用程序来随机抽取一部分数据, 今天一个朋友告诉了我一种使用 SQL 语句的方法来随机获取一部分数据, 使用起来方便多了.
SQL Server:
-- 随机获取 10 条数据
SELECT TOP 10 * FROM T_USER ORDER BY NEWID()
ORACLE:
-- 随机获取 10 条数据
SELECT * FROM (SELECT * FROM T_USER ORDER BY SYS_GUID()) WHERE ROWNUM <= 10;
-- 第二种方法
SELECT * FROM (SELECT * FROM T_USER ORDER BY DBMS_RANDOM.RANDOM()) WHERE RONUM <= 10;
在 ORACLE 中,测试了一下这两种方法,感觉 DBMS_RANDOM 比 SYS_GUID 性能要高一点
posted @
2007-11-12 20:58 匡匡 阅读(77) |
评论 (0) |
编辑