Ticket #7 (closed defect: fixed)
Call to ICapeUnit not supported in COLTT
Reported by: | michelpons | Owned by: | michaelhalloran |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | COLoggers | Version: | 1.08.3 |
Keywords: | Cc: | michaelhalloran |
Description
With a tailored-made CAPE-OPEN Unit Operation in PRO/II I get a crash that may be already documented as a bug. Still what is puzzling me is the following line in the log:
Unit <Anonymous> : Call to ICapeUnit not supported in COLTT
How can this be?
Attachments
Change History
Changed 15 years ago by michelpons
- Attachment Screenshots.zip added
Changed 15 years ago by michelpons
- Attachment proii_091109_102903.log added
COLTT log file showing line about ICapeUnit not supported
comment:1 Changed 15 years ago by michelpons
- Owner changed from Michael Halloran to michaelhalloran
- Status changed from new to assigned
comment:2 Changed 15 years ago by michelpons
The log of the same scenario with COLTT v1.07 is also showing, a number of times, the line about call to ICapeUnit not supported by COLTT. However there is no crash of PRO/II. File proii_091109_110915_v107.log is the file obtained with COLTT 1.07.
Changed 15 years ago by michelpons
- Attachment proii_091109_110915_v107.log added
Log file obtained with COLTT v1.07
comment:3 Changed 15 years ago by michaelhalloran
Michel,
Does this only happen with PRO/II? If so and given that it happens with 1.07 and 1.08 and that ICapeUnit obviously is supported by COLTT and the UNIT - see the get_Ports call later on - I think that PRO/II might be asking for the 0.93 version of CAPE-OPEN before asking for the 1.0 version. ICapeUnit in 0.93 has a different GUID which would fail in either version of COLTT but the description that goes with the GUID is just \"ICapeUnit\" as reported by COLTT. So could you check this with Simsci? We could change COLTT to add the version of the interface when it reports that a CAPE-OPEN interface is not supported.
comment:4 Changed 15 years ago by michelpons
I think you are right about v0.93. My recollection is that this has happened so far only with PRO/II. For a long period of time PRO/II has been compliant only with v0.93. For instance the SimSci Mixer example that is deployed together with PRO/II is compliant with v0.93 only. I think the only thing to do is indeed to state, which version of the ICapeUnit interface is called. That would be much clearer to anybody reading the log. I will however ask SimSci developers.
comment:5 Changed 15 years ago by michelpons
Michael,
SimSci-Esscor has provided me with a code snippet of how PRO/II checks the version of a UO:
IUnknown* lp;
_iVersion = 0;
_p100 = NULL;
_p093 = NULL;
hr = lp->QueryInterface(uuidof(CAPEOPEN100::ICapeUnit), (void)&_p100);
if (SUCCEEDED(hr))
{
_iVersion = 100;
}
else
{
hr = lp->QueryInterface(uuidof(CAPEOPEN093::ICapeUnit), (void)&_p093);
if (SUCCEEDED(hr))
{
_iVersion = 93;
}
}
According to them, they first test on 1.0 and if it does not succeed on 0.93.
On the other hand I installed OLEVIEW and looked at the CAPE-OPEN UO. The UO displays ICapeUnit interface with a 1.0 UUID (678C0998-0100-...). So I think it is indeed necessary to report in the log about the version number of the ICapeUnit interface. But I am curious to see what happens then because normally the UO should be considered as a 1.0 UO, not a 0.93 UO.
comment:6 Changed 15 years ago by michaelhalloran
- Status changed from assigned to closed
- Version changed from 1.08.2 to 1.08.3
- Resolution set to fixed
Logger adds requested GUID into the log when QueryInterface for a CAPE-OPEN interface fails. Included in 1.08.3, builds after 18/10/09.
Needs to be retested with PRO/II.
Changed 15 years ago by michelpons
- Attachment proii_102109_180159.log added
Log file obtained with version 1.08.3
comment:7 Changed 15 years ago by michelpons
I made a test with COLTT 1.08.3 in PRO/II 8.3 using the tailored-made VB6 UO. The log file (see proii_102109_180159.log attached) now displays the following line:
Unit <Anonymous> : Call to ICapeUnit with GUID {678C0998-0093-11D2-A67D-00105A42887F} not supported in COLTT
It explains now that PRO/II attempts to call on the 0.93 ICapeUnit interface and that seems sufficient as explanation at this stage. Hence the issue mau be closed.
Zipped RTF document showing the crash