Closed KySoto closed 5 years ago
This is an interesting piece of the log file:
2018-10-23 09:09:34.7387;ERROR-2.2.6672.28001;Rubberduck.Parsing.VBA.ComponentParseTask;COM Exception thrown in thread 44 while parsing module BasicInclude, ParseTaskID 5b3e6281-7194-460b-be89-9bb1ca588dae.;System.Runtime.InteropServices.COMException (0x800AC372): Exception from HRESULT: 0x800AC372
at Microsoft.Vbe.Interop._VBComponent.Export(String FileName)
at Rubberduck.VBEditor.SafeComWrappers.VBA.VBComponent.ExportAsSourceFile(String folder, Boolean tempFile) in C:\projects\rubberduck\Rubberduck.VBEEditor\SafeComWrappers\VBA\VBComponent.cs:line 111
at Rubberduck.Common.ModuleExporter.Export(IVBComponent component, Boolean tempFile) in C:\projects\rubberduck\Rubberduck.Core\Common\ModuleExporter.cs:line 19
at Rubberduck.Parsing.VBA.AttributeParser.Parse(QualifiedModuleName module, CancellationToken cancellationToken) in C:\projects\rubberduck\Rubberduck.Parsing\VBA\AttributeParser.cs:line 38
at Rubberduck.Parsing.VBA.ComponentParseTask.RunAttributesPass(CancellationToken cancellationToken) in C:\projects\rubberduck\Rubberduck.Parsing\VBA\ComponentParseTask.cs:line 151
at Rubberduck.Parsing.VBA.ComponentParseTask.Start(CancellationToken cancellationToken) in C:\projects\rubberduck\Rubberduck.Parsing\VBA\ComponentParseTask.cs:line 56
Google search for HRESULT 0x800AC372 turns up 2 hits: #2315 and #3008.
Version 2.2.6672.28001 OS: Microsoft Windows NT 10.0.16299.0, x64 Host Product: Microsoft Office 2016 x86 Host Version: 16.0.4711.1000 Host Executable: MSACCESS.EXE
I opened the attached log and checked the path it was complaining about, tried to navigate to it, and the folder Rubberduck folder in the temp folder didnt exist. I manually created the folder, and it parsed. RubberduckLog.txt
FWIW - I think there's some mangling with the HRESULT.
Given this VBA code:
application.VBE.ActiveVBProject.VBComponents(1).Export "C:\foo\goo\bar\nothere.txt"
We get an error:
---------------------------
Microsoft Visual Basic for Applications
---------------------------
Run-time error '50035':
Application-defined or object-defined error
---------------------------
OK Help
---------------------------
50035 = 0x0000C373
vbObjectError
= 0x80040000
vbObjectError
- 0x800AC372 = 0xFFF93C8E (-443250)
Also,
?hex((vbobjecterror + 1) or 50035)
8004C373
Need to verify if this is consistent with other unusual HRESULTs we get back from VBIDE. Recall that each library may choose to implement their error number ranges differently, in spite of the documentation saying that they should use 0x800A000
(object error) + N
.
Not sure how we get from 50035
to 0x800AC372
but my guts is that they're the same errors; we are just not getting the same result between the two contexts, which is probably a contributing factor to why RD keeps hitting itself in googling those HRESULTs.
I got this exact error, which is how I landed on this page. When I changed the export from:
component.Export("c:\temp\test.cls");
to
component.Export("c:\\temp\\test.cls");
The problem resolved.
Posting in case this might help someone.
Version 2.2.6672.28001 OS: Microsoft Windows NT 10.0.16299.0, x64 Host Product: Microsoft Office 2013 x86 Host Version: 15.0.5045.1000 Host Executable: MSACCESS.EXE
This is persisting after fixing the error and getting a successful compile. RubberduckLog.txt