!我用delphi6编译的程序退出后有时候会提示 “遇到问题需要关闭”(200)

  • 主题发起人 kaibosoft
  • 开始时间
K

kaibosoft

Unregistered / Unconfirmed
GUEST, unregistred user!
我用Delphi6编写的一个应用程序,是带包编译的那种。一个主工程,多个DLL,有大量的MDI调用,通过共享接口实现数据的共享。程序有一个后台,通过Socket与应用程序通讯,后台每个几分钟向前台发送一次确认在线的消息。程序所用控件主要是TMS那套控件,这个本身应该没什么问题,其他也就是一些Delphi自带的控件。窗口存在大量的继承情况,我定义了一个父窗口TfrmAncenstor,一般窗体都是通过这个来继承,我在该窗口定义了好几个内部指针,如下:{ public { Public declarations } lpAny:pAnys; lpNode:pNodes; lpCol:pCols; lpRow:pRows; lpBean:pBeans; lpRptRow:pRptRows;}在窗口TfrmAncenstor的FormDestroy进行了释放如下:{ if lpany<>nil then dispose(lpany); if lpNode<>nil then dispose(lpNode); if lpCol<>nil then dispose(lpCol); if lpRow<>nil then dispose(lpRow); if lpBean<>nil then dispose(lpBean); if lpRptRow<>nil then dispose(lpRptRow); frmAncenstor:=nil;}程序有时候退出后正常,但有时候会不停地弹出错误提示,“KCMC3遇到问题需要关闭。。。。”,开始点详细信息的时候,还有提示是rtl60.bpl之类的东西,后来我删除了一个引用的控件,就是unkown了。有时候特意进程序到处乱点一通,退出也不会有事,但有时候就冷不丁来一次,反复想也找不出问题所在。我跟踪程序也看不出那里出了问题,但根据本人估计,出现问题有可能在以下几个方面:1、是不是有什么没有释放?但我前面说了,指针都是定义在父窗口里面统一释放的。2、是不是跟后台传递消息时候出了什么状况?我觉得有这个可能,但又不知怎么下手去检测,我后台用的ServerSocket,前台用的是ClientSocket,之间有没有可能前台刚好要处理消息?这里不是太精通,说不出什么所以然来。3、是不是共享接口这里有什么状况?这是这里我经常这样用,都没有问题,为什么这个软件会出现这种问题呢?我感觉应该跟这个无关。请大家说说自己的意见,我该如何把错误找出来。
 
用fastmm4看看内存是否有内存泄露既然是带包编译,为啥还用DLL?直接用BPL不更好? DLL不好传复杂数据类型及对象类型的
 
fastmm4没用过,我试试看
 
下面是错误报告,大家给我看看<?xml version="1.0" encoding="UTF-16"?><DATABASE><EXE NAME="KCMC3.exe" FILTER="GRABMI_FILTER_PRIVACY"> <MATCHING_FILE NAME="BorlndMM.dll" SIZE="34816" CHECKSUM="0xFE260796" BIN_FILE_VERSION="4.76.0.176" BIN_PRODUCT_VERSION="4.76.0.176" PRODUCT_VERSION="4" FILE_DESCRIPTION="Replacement Memory Manager for Delphi IDE and Applications" COMPANY_NAME="Pierre le Riche / Professional Software Development" PRODUCT_NAME="FastMM" FILE_VERSION="4.76.0.176" ORIGINAL_FILENAME="BorlndMM.DLL" INTERNAL_NAME="Fast Memory Manager" LEGAL_COPYRIGHT="License: MPL 1.1" VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x4" VERFILETYPE="0x1" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" UPTO_BIN_FILE_VERSION="4.76.0.176" UPTO_BIN_PRODUCT_VERSION="4.76.0.176" LINK_DATE="06/19/1992 22:22:17" UPTO_LINK_DATE="06/19/1992 22:22:17" VER_LANGUAGE="英语(南非) [0x1c09]" /> <MATCHING_FILE NAME="KCMC3.exe" SIZE="802816" CHECKSUM="0x55F93490" BIN_FILE_VERSION="1.0.0.0" BIN_PRODUCT_VERSION="1.0.0.0" PRODUCT_VERSION="1.0.0.0" FILE_DESCRIPTION="KCM C3" COMPANY_NAME="开博软件有限公司" PRODUCT_NAME="开博线缆企业管理系统-KCM C3" FILE_VERSION="1.0.0.0" ORIGINAL_FILENAME="KCMC3.exe" INTERNAL_NAME="KCM C3" LEGAL_COPYRIGHT="开博软件 版权所有" VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x4" VERFILETYPE="0x1" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" UPTO_BIN_FILE_VERSION="1.0.0.0" UPTO_BIN_PRODUCT_VERSION="1.0.0.0" LINK_DATE="06/19/1992 22:22:17" UPTO_LINK_DATE="06/19/1992 22:22:17" VER_LANGUAGE="中文(中国) [0x804]" /> <MATCHING_FILE NAME="KCMC3BASE.dll" SIZE="977920" CHECKSUM="0x668839A3" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="06/19/1992 22:22:17" UPTO_LINK_DATE="06/19/1992 22:22:17" /> <MATCHING_FILE NAME="KCMC3CONFIG.dll" SIZE="1268224" CHECKSUM="0x4F919CD9" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="06/19/1992 22:22:17" UPTO_LINK_DATE="06/19/1992 22:22:17" /> <MATCHING_FILE NAME="KCMC3DA.dll" SIZE="753664" CHECKSUM="0xE5FDE96" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="06/19/1992 22:22:17" UPTO_LINK_DATE="06/19/1992 22:22:17" /> <MATCHING_FILE NAME="KCMC3HOST.exe" SIZE="2507264" CHECKSUM="0x843A70AE" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="06/19/1992 22:22:17" UPTO_LINK_DATE="06/19/1992 22:22:17" /> <MATCHING_FILE NAME="KCMC3HRM.dll" SIZE="748032" CHECKSUM="0xF5143BD1" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="06/19/1992 22:22:17" UPTO_LINK_DATE="06/19/1992 22:22:17" /> <MATCHING_FILE NAME="KCMC3PM.dll" SIZE="1485312" CHECKSUM="0x57DCDFAD" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="06/19/1992 22:22:17" UPTO_LINK_DATE="06/19/1992 22:22:17" /> <MATCHING_FILE NAME="KCMC3SERVER.exe" SIZE="1427968" CHECKSUM="0x48B3B16F" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="06/19/1992 22:22:17" UPTO_LINK_DATE="06/19/1992 22:22:17" /> <MATCHING_FILE NAME="KCMC3SPIF.dll" SIZE="1301504" CHECKSUM="0x28BA5794" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="06/19/1992 22:22:17" UPTO_LINK_DATE="06/19/1992 22:22:17" /> <MATCHING_FILE NAME="KCMC3START.exe" SIZE="446976" CHECKSUM="0x6625D453" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="06/19/1992 22:22:17" UPTO_LINK_DATE="06/19/1992 22:22:17" /> <MATCHING_FILE NAME="KCMC3WEB.dll" SIZE="9216" CHECKSUM="0xDBF6C366" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="06/19/1992 22:22:17" UPTO_LINK_DATE="06/19/1992 22:22:17" /> <MATCHING_FILE NAME="MDAC_TYP2.8.EXE" SIZE="5541816" CHECKSUM="0x80CAA6E0" BIN_FILE_VERSION="28.0.1022.3" BIN_PRODUCT_VERSION="28.0.1022.3" PRODUCT_VERSION="5.00.2919.6307" FILE_DESCRIPTION="Win32 Cabinet Self-Extractor " COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Microsoft(R) Windows (R) 2000 Operating System" FILE_VERSION="5.00.2919.6307" ORIGINAL_FILENAME="WEXTRACT.EXE " INTERNAL_NAME="Wextract " LEGAL_COPYRIGHT="Copyright (C) Microsoft Corp. 1981-1999" VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x1" MODULE_TYPE="WIN32" PE_CHECKSUM="0x54EDD3" LINKER_VERSION="0x50000" UPTO_BIN_FILE_VERSION="28.0.1022.3" UPTO_BIN_PRODUCT_VERSION="28.0.1022.3" LINK_DATE="11/05/1999 04:05:49" UPTO_LINK_DATE="11/05/1999 04:05:49" VER_LANGUAGE="中文(中国) [0x804]" /></EXE><EXE NAME="kernel32.dll" FILTER="GRABMI_FILTER_THISFILEONLY"> <MATCHING_FILE NAME="kernel32.dll" SIZE="1150464" CHECKSUM="0xC48B85C8" BIN_FILE_VERSION="5.1.2600.5781" BIN_PRODUCT_VERSION="5.1.2600.5781" PRODUCT_VERSION="5.1.2600.5781" FILE_DESCRIPTION="Windows NT BASE API Client DLL" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Microsoft(R) Windows(R) Operating System" FILE_VERSION="5.1.2600.5781 (xpsp_sp3_gdr.090321-1317)" ORIGINAL_FILENAME="kernel32" INTERNAL_NAME="kernel32" LEGAL_COPYRIGHT="(C) Microsoft Corporation. All rights reserved." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x11E97E" LINKER_VERSION="0x50001" UPTO_BIN_FILE_VERSION="5.1.2600.5781" UPTO_BIN_PRODUCT_VERSION="5.1.2600.5781" LINK_DATE="03/21/2009 14:06:57" UPTO_LINK_DATE="03/21/2009 14:06:57" VER_LANGUAGE="中文(中国) [0x804]" /></EXE><EXE NAME="kernel32.dll" FILTER="GRABMI_FILTER_THISFILEONLY"> <MATCHING_FILE NAME="kernel32.dll" SIZE="1150464" CHECKSUM="0xC48B85C8" BIN_FILE_VERSION="5.1.2600.5781" BIN_PRODUCT_VERSION="5.1.2600.5781" PRODUCT_VERSION="5.1.2600.5781" FILE_DESCRIPTION="Windows NT BASE API Client DLL" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Microsoft(R) Windows(R) Operating System" FILE_VERSION="5.1.2600.5781 (xpsp_sp3_gdr.090321-1317)" ORIGINAL_FILENAME="kernel32" INTERNAL_NAME="kernel32" LEGAL_COPYRIGHT="(C) Microsoft Corporation. All rights reserved." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x11E97E" LINKER_VERSION="0x50001" UPTO_BIN_FILE_VERSION="5.1.2600.5781" UPTO_BIN_PRODUCT_VERSION="5.1.2600.5781" LINK_DATE="03/21/2009 14:06:57" UPTO_LINK_DATE="03/21/2009 14:06:57" VER_LANGUAGE="中文(中国) [0x804]" /></EXE></DATABASE>
 
顶部