|
code
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Binary Compatibility - Please help!unsure how to solve. Here's the scenario: I have a ActiveX class library (DLL) called DLLproject1, that contains amongst other things a class - called for the sake of simplicity "PropertiesClass". I have another ActiveX class library (DLLProject2) that contains a reference to DLLproject1 and contains a class that exposes an instance of the PropertiesClass as a property - like this: Public Property Get PropClass() As DLLproject1.PropertiesClass .... End Property Both these classes use binary compatibility. If I need to change something in DLLproject1 that breaks binary compatibility, then I go ahead and do this. But when I go back to DLLproject2 and try to build, I get the error "The binary compatibility DLL or EXE contains a parameter type or return type whose definition can not be found". I understand why it is telling me this, its because I broke binary compatibility in the referenced DLL. But I need to tell it to build anyway. The only way I can get round this is to turn binary compatibility off for DLLProject2, build, and then turn it back on again and build again. This takes ages and its a real pain in development when the interface for DLLproject1 might change quite often. Is there something I can do? Please help, I am pulling my hair out with this problem. Matt Roberts Once I had that problem.
I solve it to compile both dlls. (The type library has to be refreshed...) -- Show quoteHide quote<Harvey Triana /> --------------------- I signed the petition at: http://classicvb.org/petition/index.asp "Mwob" <mattwobe***@gmail.com> escribió en el mensaje news:1138639671.252249.66610@f14g2000cwb.googlegroups.com... >I have a confusing problem with VB binary compatibility that I am > unsure how to solve. Here's the scenario: > > I have a ActiveX class library (DLL) called DLLproject1, that contains > amongst other things a class - called for the sake of simplicity > "PropertiesClass". I have another ActiveX class library > (DLLProject2) that contains a reference to DLLproject1 and contains a > class that exposes an instance of the PropertiesClass as a property - > like this: > > Public Property Get PropClass() As DLLproject1.PropertiesClass > .... > End Property > > Both these classes use binary compatibility. If I need to change > something in DLLproject1 that breaks binary compatibility, then I go > ahead and do this. But when I go back to DLLproject2 and try to build, > I get the error "The binary compatibility DLL or EXE contains a > parameter type or return type whose definition can not be found". > > I understand why it is telling me this, its because I broke binary > compatibility in the referenced DLL. But I need to tell it to build > anyway. The only way I can get round this is to turn binary > compatibility off for DLLProject2, build, and then turn it back on > again and build again. This takes ages and its a real pain in > development when the interface for DLLproject1 might change quite > often. > > Is there something I can do? Please help, I am pulling my hair out with > this problem. > > Matt Roberts >
Show quote
Hide quote
"Mwob" <mattwobe***@gmail.com> wrote in message Normally I use a copy of the dll to serve as the binary model. If you news:1138639671.252249.66610@f14g2000cwb.googlegroups.com... >I have a confusing problem with VB binary compatibility that I am > unsure how to solve. Here's the scenario: > > I have a ActiveX class library (DLL) called DLLproject1, that contains > amongst other things a class - called for the sake of simplicity > "PropertiesClass". I have another ActiveX class library > (DLLProject2) that contains a reference to DLLproject1 and contains a > class that exposes an instance of the PropertiesClass as a property - > like this: > > Public Property Get PropClass() As DLLproject1.PropertiesClass > .... > End Property > > Both these classes use binary compatibility. If I need to change > something in DLLproject1 that breaks binary compatibility, then I go > ahead and do this. But when I go back to DLLproject2 and try to build, > I get the error "The binary compatibility DLL or EXE contains a > parameter type or return type whose definition can not be found". > > I understand why it is telling me this, its because I broke binary > compatibility in the referenced DLL. But I need to tell it to build > anyway. The only way I can get round this is to turn binary > compatibility off for DLLProject2, build, and then turn it back on > again and build again. This takes ages and its a real pain in > development when the interface for DLLproject1 might change quite > often. > > Is there something I can do? Please help, I am pulling my hair out with > this problem. > > Matt Roberts > change the dll interface and continue pointing at the old copy, you will get the error above.
How to best resize a form?
Using Control Array in User Control Proper way to resize a Form [function LOF] Fails after WordPad saving VB6---.NET Why Randomize() won't work? Passing data from a dll to the main VB program Problems with vbCtrlMask can't use a function from dll built in delphi VB crash on .PopupMenu .zmnuDemo Defaultmenu |
|||||||||||||||||||||||