From: RandyH on 6 Jun 2007 16:07 I'm modifying a VB6 application that uses RDS to access objects in an ActiveX DLL. I added a new class to the DLL, to support new functionality in the program. The existing objects in the DLL work fine, with no errors. The new object I've created (by copying one of the existing classes and changing names) gives the error in the title. The difference in behavior makes me think it is not a permissions problem (which several Internet references suggest is the problem). The lines that work read: Set objList = rdsObj.CreateObject("DIWDBIO.CountryPersist", ConnectionInfo.Server) sXML = objList.GetList(xDOM.xml) The ones that fail are: Set objList = rdsObj.CreateObject("DIWDBIO.SalesRepPersist", ConnectionInfo.Server) sXML = objList.GetList(xDOM.xml) The debugger actually stops on the second line (sXML =). The only difference between the two being the object name; note that SalesRepPersist was created from CountryPersist. Any insight would be appreciated.
From: Ken Halter on 6 Jun 2007 16:18 "RandyH" <RandyH(a)discussions.microsoft.com> wrote in message news:0A64375E-EFA6-41BE-ACE3-38F90CC7C77E(a)microsoft.com... > I'm modifying a VB6 application that uses RDS to access objects in an > ActiveX > DLL. I added a new class to the DLL, to support new functionality in the > program. That "4100" is something your error handler generated... but, how did you copy the class? If you used Windows Explorer to make an exact copy and simply changed the file name, it wouldn't have worked (without a lot of headaches and using Notepad to "fix" things)... so, I imagine, you added a new class and copy/pasted the code from one to the other... right? Either way, is the instancing property of this new class the same as the old? Also, are you maintaining binary compatibility? If not, big big problems ahead. -- Ken Halter - MS-MVP-VB - Please keep all discussions in the groups.. In Loving Memory - http://www.vbsight.com/Remembrance.htm
From: RandyH on 12 Jun 2007 12:29 Ken, thanks for answering. I did actually copy the thing through Explorer and "fix" it in Notepad before adding it into the project. Was a bit of a headache but I got it to work. The Instancing property matches that of the original class. Although I'm still looking for the "4100," it does turn out that it's specific to the project, not a general VB error. The DLL in question uses Registry keys to keep track of what classes it allows to be created, so I had to create a new Registry key for the new class. (I found out by talking to the programmer who originally created the thing, who was kind enough to show me the mechanism he used.) "Ken Halter" wrote: > "RandyH" <RandyH(a)discussions.microsoft.com> wrote in message > news:0A64375E-EFA6-41BE-ACE3-38F90CC7C77E(a)microsoft.com... > > I'm modifying a VB6 application that uses RDS to access objects in an > > ActiveX > > DLL. I added a new class to the DLL, to support new functionality in the > > program. > > That "4100" is something your error handler generated... but, how did you > copy the class? If you used Windows Explorer to make an exact copy and > simply changed the file name, it wouldn't have worked (without a lot of > headaches and using Notepad to "fix" things)... so, I imagine, you added a > new class and copy/pasted the code from one to the other... right? > > Either way, is the instancing property of this new class the same as the > old? Also, are you maintaining binary compatibility? If not, big big > problems ahead. > > > -- > Ken Halter - MS-MVP-VB - Please keep all discussions in the groups.. > In Loving Memory - http://www.vbsight.com/Remembrance.htm > > >
|
Pages: 1 Prev: COM Error 80110428 occurred Next: Make ListView transparent |