|
|
又发现了一些问题,记录下来,和大家分享: - 在写DLL的时候,一定要在主程序和DLL工程里面都引用内存管理器,比如说BolandMM(宝兰MM),不过我比较推荐FastMM,因为这个内存管理器效率高,而且可以监控到有没有内存泄露的问题,同时可以在发行包里省掉BolandMM.dll。之所以发现这个问题,应该从一个郁闷了我三天的问题说起,在DLL里面执行存储过程的时候,发现一直提示“不正常地定义参数对象。提供了不一致或不完整的信息。”而用SQL事件探寻器,并没有发现程序调用了存储过程。通过大量的跟踪分析后才发现是犯的一个低级错误。
- 当定一个对象的时候,还没有创建这个对象的时候去访问它,竟然不会报内存保护错误,而是随便扔了一个对象过来,这个问题也郁闷了我好久。
- 调用存储过程的时候,一定要注意参数的顺序,发现参数的名字只是在程序里面用到,事实上没有传到SQL SERVER上面,只是把参数值按顺序依次传到SQL Server上,如果忽视参数顺序的问题,到时候就有的郁闷了。
- 用Excel来生成代码:)。要把表生成存储过程和生成对应的对象代码以及初始化保存什么的代码,是一个繁杂而且还容易出错的过程,一个简单的办法就是把表设计拷出来,贴到Excel里,然后用字串函数拼出我们想要的代码。
|