问题描述
我正在在.Net Framework 2.0.50727 SP 1上使用Visual Studio 8.0.50727.867 SP1开发C#加载项.对于大型文件(9000行,100多个函数,400KB +),它最接近cpp文件中的当前光标位置,这可能需要一秒钟左右的时间,并且在与外接程序的对话框进行交互时可能会导致混乱.
要解决此问题,我将函数放入一个单独的线程中,除非在运行该函数时关闭Visual Studio,否则该函数似乎可以正常工作,然后我得到一个无法使用与其基础RCW分离的COM对象".下一行的消息
sstudents(),(),还是因为,该线程正在尝试访问不再存在的内容.任何想法如何解决此问题?
在此先感谢.
CB
I'm developing an add-in with C# using Visual Studio 8.0.50727.867 SP1 on .Net Framework 2.0.50727 SP 1.
I have a function which identifies the code element (function) containing or nearest to the current cursor position within a cpp file, for big files (9000 lines, 100+ functions, 400KB+) this can take a second or so and can lead to the jerkiness when interacting with the add-in's dialog box.
To work around this I put the function into a separate thread which seems to work unless Visual Studio is closed while the function is running, then I get a "COM object that has been separated from its underlying RCW cannot be used." message on the following line
TextPoint textPoint = ((TextSelection)doc.Selection).ActivePoint;
I assume this is happening because the thread is trying to access something that no longer exists. Any ideas how to fix this?
Many thanks in advance.
CB
推荐答案
这篇关于VS关闭时,COM对象与基础RCW错误分离的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!