浏览模式: 普通 | 列表
分类: 无趣的技术 | 1 | 2 | 3 | 4 | >

vb6升级到vb.net? 小心!

[ 2008-10-06 22:56:22 | 作者: progame ]
这些天在搞堪比火箭和飞船的系统对接, 话说打虎亲兄弟, 上阵父子兵, VB6, C#, VB.Net一齐上, 好一番鸡飞狗跳真热闹

Com Class, Interop Forms Toolkit, MS毕竟不止顾着宠小儿子, 也给那些大的留了些活路, 现在用来效果还真不错, 使得VB6有老树开花第二春的感觉了, 有了庞大的framework类库, 有了更庞大的易于反编译的第三方组件和类库, 生活又开始阳光灿烂起来了, 开发效率还是.Net高了很多很多, 但是弄着弄着发现一个问题了

因为调用了scriptcontrol执行脚本, 但没有format函数, 于是用addobject加入了一个自定义类的实例, 里面的format函数其实转而调用的是VBA.Format, 也用了这么久, 现在迁移到VB.Net, 却发现gloal.miscrosoft.visiualbaisic.format函数和原来的VBA.format行为太不一致了, 心想, 这下如何是好? 傻眼了!

google吧, 找到一个, 还行, 效率是差点, 但将就能用:
 Function Format(vExpression, sFormat)
 
 set fmt = CreateObject("MSSTDFMT.StdDataFormat")
 fmt.Format = sFormat
 
 set rs = CreateObject("ADODB.Recordset")
 rs.Fields.Append "fldExpression", 12 ' adVariant
 
 rs.Open
 rs.AddNew
 
 set rs("fldExpression").DataFormat = fmt
 rs("fldExpression").Value = vExpression
 
 Format = rs("fldExpression").Value
 
 rs.close: Set rs = Nothing: Set fmt = Nothing
 
 End Function

msn登录只有进程没有界面的解决方法 [私人]

[ 2008-09-26 19:30:47 | 作者: progame ]
禁用网络连接 再打开 有显示界面 但是一连上 马上又无响应
最后进IE选项, 进行reset, 再打开 OK了

后来又出问题了 至今没搞定 还是用xp自带的windows messenger吧

但是用这个, 一是联系人不能搜索, 二是原来的聊天记录没法共用
狠狠心, 再搜索吧
tetra19

Junior Member with 1 posts.

The answer is simple, simply unplug your router wait 30 seconds replug it, then try
Make sure you have no msnmgr in task manager, then start up msn and it should work

I had the same problem and this fixed it
Hope it works for you!

问题解决

chm文件索引和查找无效的解决方案 [私人]

[ 2008-08-31 12:42:01 | 作者: progame ]
有很长一段时间了, CHM文件打开后索引(Index)列表显示为空白, 搜索也没有作用, 终于受不了, 网上找了一下解决方案
>I'd recommend that you run MJ's Help Diagnostics,
available from:

>http://helpware.net/downloads/index.htm#MJs

http://helpware.net/downloads/index.htm#MJs

Description:
MJ's Diagnostics is a small utility that reports if all the HTML Help runtime DLLs are installed and registered correctly. If a DLL is not registered then it will ask if you want to register it. It also checks the RoboHelp DLL (HHActiveX.dll) and MS Help 2 DLLs.

运行后搞定了, 应该是组件没有正常注册, 可能是给第三方软件给弄的

Winform内存泄露是如此容易的一件事 [私人]

[ 2008-08-17 16:20:30 | 作者: progame ]
一直以为.net年代内存管理已经不用操心了, 可是没想到连最普通的Menu, ToolStrip也得显式调用Dispose释放资源才行
还有WebBrowser, 也得这样, 而且如果在窗体构造函数而不是Load中Navigate, 那么就是直接Webbrowser.Dispose也释放不了

要显式释放也行, 但你得告诉人一声啊, DevExpress的XtraGrid也得显式调用Dispose, 虽然Control都实现了IDispable接口, 可是如果你不调用
Form的Dispose调用是不顶用的, 只能自己处理, 像我这样一知半解的肯定有很多人, 估计这世上有大量的Winform程序都内存泄露着

VS2008 IDE的状态栏居然找不回来了

[ 2008-06-13 13:23:34 | 作者: progame ]
一直也没怎么注意, 在webservice不便调试的情况下, 看出错信息找行号时才下意识地去看状态栏(我代码窗口都不显示行号的), 结果发现状态栏不见了

reset windows layout, reset toolbar, reset keyboard, 发现都不好用, 最后搜索了一下
工具--〉导入和导出设置--〉重置所有设置
(Tools->Import and Export Settings->Reset all settings)

这才搞定, 可能是被什么插件安装导致的问题, 也有可能是vs2008 sp1安装后产生的, 不确定了
被改变也不全是坏事, 当然在这里不是好事, 也有改得面目全非的, 比如

有人提议要重拍三国演义, 大家说到如何选演员, 结果这位说:
赵本山演吕布,郭德纲演典韦,SHE演刘关张。。。。。。

想想就是一部超强喜剧片, 如果真能用武林外传的恶搞精神, 把人拉来拍一拍, 就是我们广大观众的眼福了...

C#枚举所有sql server数据库实例

[ 2008-03-30 16:06:58 | 作者: progame ]
这是官方解决方案 从 SqlDataSourceConverter 即可得到MS是如何去取得所有数据库服务器的
 DataTable dataSources = SqlClientFactory.Instance.CreateDataSourceEnumerator().GetDataSources();
 DataColumn column2 = dataSources.Columns["ServerName"];
 DataColumn column = dataSources.Columns["InstanceName"];
 DataRowCollection rows = dataSources.Rows;
 string[] array = new string[rows.Count];
 for (int i = 0; i < array.Length; i++)
 {
 string str2 = rows[i][column2] as string;
 string str = rows[i][column] as string;
 if (((str == null) || (str.Length == 0)) || ("MSSQLSERVER" == str))
 {
 array[i] = str2;
 }
 else
 {
 array[i] = str2 + @"\" + str;
 }
 }
 Array.Sort<string>(array);

注意, 不仅仅是SERVER, 一台服务器上的多个实例(instance)都可以得到

给闲置的内存找点活干

[ 2008-01-29 21:24:05 | 作者: progame ]

一般情况下, 系统的2G内存是用不了的, 大多数时间是在800M以内, 再加上我已经弃暗投明的换XP系统了, 所以内存是很宽裕的.

但硬盘实在是性能瓶颈, 5400转的硬盘极慢, 而且还声音大, 不稳定, 用HDTunes测试的那条曲线就跟过山车一样忽上忽下, 于是还是找个把内存虚拟成硬盘的软件用用吧

查了一下, 大家都比较喜欢RamDisk, 真是小巧好用又实惠, 于是划了512M内存给这个虚拟硬盘, 然后把IE临时文件夹, 系统临时目录都指到了这个新分区下, 性能有没有提升不知道, 反正任务管理器里的内存占用是显著上去了, 心里总算平衡些, 否则2G内存用不到1G那是何等的铺张浪费, 这种可耻的行为简直可以和公费吃喝相媲美了

大块头未必有大智慧, 有些非常好用的软件不但尺寸小, 而且界面也简单, 减肥除了爱美的女士, 也应该是我们软件开发者们的向往

using用用还是蛮好的

[ 2008-01-16 19:14:34 | 作者: progame ]

因为考虑到数据库要支持sqlite, 而且数据访问层本身就是不允许并发的, 原因在于DataReader的连接不可断性, 所以我有一个全局的类去得到Session, 一旦得到, 马上自动开启事务, 而这个方法是通过lock来锁定防止并发, 如果session仍然在事务中, 则等待到事务完成才可以访问

得到session可以直接把事务开启, 但事务还得显式关闭, 每个地方都来一次关闭事务也挺烦的, 于是干脆加了一个DBContext类, 实现IDispose接口, 在释放时去关闭事务, 现在用起来感觉就很拉风了:

using (var context = new DBContext())
{
return context.Session.GetList(Domain.Category.Type == (int)type);
}

因为要加一个using在外面, 这样也就让自己不得不去尽量写短小点的函数, 否则括起来就很难看了

装机大师的苦恼

[ 2008-01-05 01:10:17 | 作者: progame ]

近来装系统无数遍了,先是因为找一个组件的破解,在NOD32的保护下,我成功地中毒了,而且是RootKit级别的,用了无数方法,没删除成功,因为它可以成功进入windows, 而进不了安全模式了。结果找了原来的true image镜像做恢复,开始怎么恢复都说找不到硬盘,后来才查到原来要用home 11才可以认出sata硬盘

镜像恢复后还没用一天,决定转移到新笔记本上去,于是这台才装好的windows xp系统又被还原了。对我们来说,装系统并不是一件多耗时的事情,最多半小时搞定,但是接下的windows update, drivers, office update, 软件开发环境这些才是最要命的,vs2008装起来就是1个多2小时的事,vs6, sql server, office, outlook的邮件还原,杂七杂八的工具软件,第三方组件,全部要弄好一般都是得一天的时间才行

接下来是装新机,第一遍装vista,结果由于没有装intel主板驱动,导致迅盘和intel matrix storage driver死活装不成功,而这次系统分区没有弄好,D盘也是主分区,没有成为扩展分区,后来一咬牙,干脆格掉重新分区重新再装vista, 这次各种驱动装得都是相当顺利,很成功地用了2天,实在是撑不住了,太难用了,因为频繁地和文件,文件夹打交道,结果vista里的各种特性让人无法忍受,复制一个文件,居然马上给我自动排序了,找半天才找出来,要知道有的文件里我有将近上千个文件,文件才一改名,我都没刷新,马上不见了,又得找个半天。打开文件对话框,默认视图根本无法接受,得一个个地调整为list视图,默认出来的布局,文件名的列宽都不够,我得一个个调整,在aero特效下,文件夹图标前面的小三角符,也太难分辨了。任务栏当前激活的窗口跟未激活的一样漆黑一片,区别不过是张飞和李逵之间,还给老奶奶用的操作系统,老奶奶就是架上老花眼镜也搞不清楚

另外,各种系统的设置都是莫名其妙,权限也让人上火,也不告诉我说写不了注册表,装完软件后还以为装上了,结果一堆的问题,又得run as administrator, 在我不用Administrator登录的情况下根本没办法把vb工程文件双击打开,难道非得找到vb.exe,再run as...,累死

效率优先的,况且vista的界面我也不觉得好看,还是装完xp,于是又花了大半天的时间全新安装xp,看到熟悉的windows经典界面,这叫一个亲切啊,没有经历vista的痛苦,就不能体会xp的流畅,也许对于普通用户而言,超炫的界面是值得的,虽然内存占用超大,硬盘访问超多,但窗体看上去够漂亮就行,但我没办法用,文件夹长得太像,各种文件类型的默认图标又大多是一穷二白的样子,分不清谁是谁,按个F2来重命名吧,vista又"好心"的给你只选中文件名而不包括扩展名,但我大多数情况下改的就是扩展名,或者是文件名删除部分或在中间插入部分字符,它这一全选文件名,害得我又晕了

2000出来怀念98的界面刚才,后来久了,发觉98是这样的丑,xp出来,还是喜欢2000的风格,这么多年过去,xp依然不用theme,但以前的几次变更起码只是感观上的,不是使用习惯上的变化,现在vista出来了,变得让我无从操作,大部分时间是在找文件夹和文件

当事件顺利得超乎想像时, 请果断地怀疑自己是不是出了什么差错

如果你想赶时间, 往往最后反而要花费更多的时候. 做到心态平和是件不太可能的事, 在意的东西多了, 怎么可能随便就放得下, 犯没有犯过的错误是很值得原谅的, 重复犯错就是不可饶恕的, 即使有知识库, 谁又能保证下次再做同样的事时会去先查一遍?

把 heybrain 的html编辑器换成了最新的 tinymce 3.0beta3版, 不知是否会有些改观, 之前因为一些bug被我放弃了,一直我自己都使用UBB的编辑器