Win2003下PB9打开源码窗口报内存错误解决办法
4星 · 超过85%的资源 需积分: 35 196 浏览量
更新于2024-09-13
10
收藏 917B TXT 举报
"pb9在打开某些源码中的窗口时出现'内存不能为read'错误的解决方案"
在使用PowerBuilder (PB) 9.03版本(构建号8716、8836)在Windows 2003 Server操作系统上开发时,用户遇到了一个特定的问题:当尝试打开以前没有问题的源码窗口时,系统报告“内存不能为read”的错误。这个问题不仅限于PB9,也出现在PB8.04的个别窗口中。这表明问题可能不直接与PowerBuilder版本有关,而是可能涉及到操作系统兼容性或者系统环境。
用户已经尝试过完全构建项目(Full build),但问题仍然存在。进一步的测试显示,即使卸载PB9仅保留运行环境的DLL文件,由源码编译生成的EXE在运行包含问题窗口的应用程序时,也会遇到相同的错误。这表明问题可能存在于代码、数据窗口(DataWindow)或者是PB与操作系统的交互方式。
从描述来看,用户怀疑可能是操作系统版本或安装盘的问题,因为错误在XP系统下没有出现,但在Win2003 Server环境下频繁发生。然而,没有明确的证据表明这是操作系统的问题,因为同样的错误在不同的PB版本中都出现,而且在PB12.1中未报告此问题,这可能意味着问题与PB的具体实现或某些库的兼容性有关。
解决方案可能包括以下步骤:
1. **检查系统更新和补丁**:确保操作系统和所有相关的组件(如.NET Framework,数据库驱动等)都已更新到最新状态,以提高兼容性。
2. **修复PowerBuilder安装**:尝试重新安装PB9,确保所有的组件都正确安装,并且没有遗漏或损坏的部分。
3. **排查第三方控件**:如果问题窗口包含第三方控件,检查控件是否与新操作系统兼容,或者是否有更新版本可以解决此问题。
4. **代码审查**:检查问题窗口的源代码,特别是涉及内存管理和对象创建的部分,看是否存在可能导致内存冲突的错误。
5. **数据窗口问题**:由于提到“在打印PB9的datawindow时,输出窗口显示正常,但在Win2003上显示内容较少”,这可能暗示数据窗口渲染有问题。检查数据窗口的设置和数据源,确保它们在新的环境中正确工作。
6. **注册表清理**:清理可能遗留的旧版本PB注册表项,有时候旧的注册表条目可能会影响新版本的运行。
7. **兼容模式运行**:尝试以兼容模式运行PB或生成的EXE,看看是否能解决问题。
8. **社区支持**:访问如CSDN论坛等技术社区,查找类似问题的讨论和解决方案,或者直接向PowerBuilder的支持团队求助。
9. **创建最小可复现案例**:创建一个最小化的源码示例,只包含问题窗口,这样更便于定位问题。
通过上述方法,应该能够逐步缩小问题范围并找到有效的解决方案,而不必重新安装操作系统。记住,对于这类问题,耐心和详尽的调试是关键。
2011-07-17 上传
2017-03-02 上传
2012-12-18 上传
2011-03-07 上传
2010-05-08 上传
2008-10-05 上传
2022-05-22 上传
2008-04-07 上传
zjl8008
- 粉丝: 27
- 资源: 6
最新资源
- 如何将数据从CSV和XML导入MS SQL Server
- ROMsettaStone.SoE:SoE的ROMsetta Stone文档
- redux-rest-actions:使用Redux发出REST请求的中间件
- g
- meta-llama-3-8b-instruct 的 model-00002-of-00004.safetensors 的1/3
- laravelapi-vueui
- git-training1:训练库
- netassist.zip
- VM
- ac1poo_190583
- StreamEventCoreference
- emp_curate_data:用于为#EEGManyPipelines准备EEG数据的代码
- computer-systems:穿越计算机系统
- feign_v960依赖的jar包.rar
- vuls-log-converter
- 门业生产企业网站模版