我目前正在移植现有的Delphi 5应用到2010年德尔福无效的指针操作TMonitor.Destroy
这是一个多线程的DLL(其中线程由Outlook生成)加载到Outlook中。当通过Delphi 2010进行编译时,无论何时我关闭一个表单,我都会遇到TMonitor.Destroy中的一个“无效指针操作”... system.pas中的那个,也就是说。
由于这是一个现有的和有点复杂的应用程序,我有方向的很多寻找到,和Delphi帮助
甚至没有记录
勉强文件这个特殊TMonitor类开始(我追查给一些艾伦鲍尔的帖子提供了额外的信息)......所以我想我首先会问是否有人遇到过这个问题,或者对可能导致这个问题的建议有任何建议。 为了记录:我没有在代码中明确使用TMonitor功能,我们在此讨论Delphi 5代码的直接端口。
编辑调用堆栈的时刻出现问题:
System.TMonitor.Destroy
System.TObject.Free
Forms.TCustomForm.CMRelease(???)
Controls.TControl.WndProc(???)
Controls.TWinControl.WndProc((45089, 0, 0, 0, 0, 0, 0, 0, 0, 0))
Forms.TCustomForm.WndProc(???)
Controls.TWinControl.MainWndProc(???)
Classes.StdWndProc(15992630,45089,0,0)
Forms.TApplication.ProcessMessage(???)
看起来记录在我身上:http://docwiki.embarcadero.com/VCL/en/System.TMonitor – 2010-01-14 14:35:40
我站好了。我信任F1带我去那里。傻我。 :-) – 2010-01-14 15:36:40