bazı kelimeler için yeterli bellek istisna atar Visual Studio 2010'da .NET 4.0, Office 12 PIA başvuruyor. 150 000'den fazla farklı kelime için, bu bir çekicilik gibi çalışır.get_SynonymInfo ben Thesaurus sözlükten sözcük anlamları almak için Microsoft Word birlikte çalışabilirlik kullanarak basit bir test programı var
Unhandled Exception: System.Runtime.InteropServices.COMException: Insufficient memory or disk space.
at Microsoft.Office.Interop.Word.ApplicationClass.get_SynonymInfo(String Word, Object& LanguageID)
at WordInteropTest.Program.Main(String[] args) in Program.cs:line 11
Ben bu kelimeleri bir istisna neden olduğunu biliyoruz:
- elit (ama işleri "elitleri") yakın
- Ama bazı kelimeler için, yöntem get_SynonymInfo bir istisna atar fark
- sokmak
- tucks
- onboar yürüyen
- d
- Ben belleğini serbest ve düzgün Kelime app çıkın yok, bu istisna ile ilgisi yoktur, ama tam bir kaynak kodunu vermek
dehşete. Test programımdan çıktığımda işlem listesinde msword.exe kalmadı.
// release memory and quit Word app... (continuing from above)
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(synInfo);
app.Quit(Word.WdSaveOptions.wdDoNotSaveChanges);
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(app);
Microsoft Word'deki Eş Anlamlılar sözlüğünü el ile kullanarak, tüm sözcükler için uygun sonuçlar verir.
Interop kodunu kullanarak istisnayı nasıl önleyebilirim ve sonuç alabilirim? Başka bir API kullanarak geçerli bir alternatif var mı?
Güncelleme: Bu kod Office 2007 ile Ve benim için sürpriz çalıştığını bir local programming web forum üzerine söylendi, öyle. Ancak bu soruda belirtildiği gibi Office 2010 ve 2013 Önizleme ile, en azından bilgisayarlarımda/VM'lerde çalışmaz. Daha sonra Office 12 yerine Office 14 PIA'yı kullanmaya çalıştım, ancak Office 2013 Preview ile aynı davranıyor.
Word ile uzun süredir devam eden bir sorun gibi görünüyor, çünkü 2013'te hala var (AFAICT). Bu https://groups.google.com/forum/?hl=tr&fromgroups=#!topic/microsoft. public.office.developer.automation/ex58NtYsJmc Excel'i kullanmanızı önerir. – Fionnuala
Hata aynı görünüyor, ancak her iki "iş parçacığı" ve "deflate" bu konuları benim için çalışır. –
Sorun olabileceğini düşündüğüm şey, bütün bu kelimelerin anlamları listesinde homograflara sahip olmasıdır. Örneğin, "elit" ile "en iyi (isim)" ve "en iyi (sıfat)" vardır. SynonymInfo arayüzü her ikisini de temsil edemez. Word 2007 bunu Thesaurus panelinde iki farklı giriş olarak gösterir, ancak Word 2010 ve 2013 Preview, bunu "best (ad/sıfat)" girdisi olarak gösterir. –