Kinook Software Forum

Go Back   Kinook Software Forum > Visual Build Professional > [VBP] Third Party Tools
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Rate Thread Display Modes
  #1  
Old 12-21-2004, 05:37 PM
jmm jmm is online now
Registered User
 
Join Date: 07-29-2004
Posts: 10
VB6 IIDs changing for no obvious reason.

I have discovered that every time I (re-)build a VB6 COM object, it ends up with new IIDs (Interface UUIDs).
This happens even though:
1) Binary compatibility is ON (see "Build VB6" VBP project file below).
2) The VB6 source has not changed.
3) The *only* deltas in the interface are the IIDs, the interface content is identical.
4) No other GUIDs (CLSID, TypeLib) change.

This started happening after I started using VBP to do the builds. While I am not saying VBP caused this problem (and I don't see how it could), when I build the exact same source on an older version ("pre-VBP") of the build system disk, the IIDs do not change. The IIDs also change if I build the project the "pre-VBP" way using the current (VBP) build system disks.

Any ideas on what is causing the IIDs to change?


Notes:
1) I found the changing IIDs by using "OLE View" to generate IDL for a problem DLL (VBIliadDataMgr.dll) TypeLib.
Then I used WinDiff and found that 3 IIDs differed.
It is always the same 3 IDs that change, the other 7 do not change.
I have attached IDL made from 3 versions of this DLL.

2) The "Build VB6" VBP project file used to run the IDE looks like:
<?xml version='1.0'?>
<project version='5'>
<step action='Group' type='0'>
<name>Project steps</name>
</step>
<step action='Make VB6' type='0'>
<Attr type='11'>-1</Attr>
<BinCompat type='11'>-1</BinCompat>
<CompatDir>..\cbin</CompatDir>
<Filename>%PROJ_FILE%</Filename>
<IncrReason type='11'>-1</IncrReason>
<TargDir>..\bin</TargDir>
<Version>%VB6BLDVERSION%</Version>
<VersionSel type='3'>2</VersionSel>
<ignorefail type='11'>-1</ignorefail>
<indent type='3'>1</indent>
<name>VB6 build</name>
</step>
</project>


3) FWIW, the run-time error associated with this problem is the expected one:
Run-time error '430':
Class does not support Automation or does not support expected interface
Reply With Quote
  #2  
Old 12-21-2004, 05:40 PM
jmm jmm is online now
Registered User
 
Join Date: 07-29-2004
Posts: 10
A ZIP of the IDL files seemed to disappear from my original posting. So here they are.
Attached Files
File Type: zip idl.zip (8.7 KB, 1900 views)
Reply With Quote
  #3  
Old 12-22-2004, 02:23 PM
kinook kinook is online now
Administrator
 
Join Date: 03-06-2001
Location: Colorado
Posts: 6,034
Not really. I'm pretty sure it's a VB thing and not VBP, since the Make VB6 action ultimately invokes the VB6 compiler to actually build. You might turn off any custom functionality of the Make VB6 action (settings on the Compatibility and Versions tab) to see if it makes a difference.

One of these posts might be related to what you're seeing: http://groups-beta.google.com/groups...r=&sa=N&tab=wg
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



All times are GMT -5. The time now is 05:57 PM.


Copyright © 1999-2023 Kinook Software, Inc.