|
-
May 17th, 1999, 06:35 PM
#1
Error 430 class doesn't support automation...Help!!!
Hello and thanks in advance for your suggestions!
I get this error message on opening the application after having newly installed it on a Win95 client machine. It's a VB6 app using ADO and I'm trying to open a recordset on a Sybase database using the ODBC provider for Sybase (System 11). It has been developed on an NT box and tested on both NT and 95 boxes before being packaged and deployed. I have tested it through the development environment and also as a compiled exe and it works fine on the production machines. The 95 target machine is clean (no VB) and has the entire mdac20 components, and Sybase drivers installed and also has Dcom95 installed on it. I also tried it after installing dcom98 but get the same error. The app installs successfully and also packages with no missing dependencies. Although I have tried quite a few things, any suggesitons will be much appreciated. FYI, the project has been compiled with no compatibility, so this does not come into play. I have attached the offending code below.
Module level
private strSQL as string
Dim aDC as ADODB.Connection
In Form_Load()
Dim aRS as new ADOR.Recordset
set aDC = new ADODB.Connection
aDC.Open sDbName, msUserId, msPassword 'sDbName is the DSN for the Sybase provider for ODBC
' which is passed in along with uid and pwd thru an ini file
strSQL = "Select * from CLIENT where CLIENT_ID = '" & strID & "'"
aRS.Open strSQL, aDC, adOpenForwardOnly, adLockReadOnly, adCmdText -- does not open recordset!
Thanks much,
Al
-
May 18th, 1999, 03:11 AM
#2
Re: Error 430 class doesn't support automation...Help!!!
No, I do not have a solution for your problem, but I also have a very similar problem: same error message; app used to work on test and production machines.
I checked MSDN to no avail.
If you ever find a solution or workaround PLEASE let me know...
good luck!
-
May 19th, 1999, 04:29 PM
#3
Re: Error 430 class doesn't support automation...Help!!!
Lothar, actually I did find a solution for my particular situation (much rejoicing!) The problem was that I could not bind early for the recordset object and when I changed my code to late bind it WORKED! Here's the changes I made.
Dim ss 'as variant or object
Dim ss2 'as variant or object
Set ss = CreateObject("ADODB.Recordset.2.0")
ss.Open gSQL, gDB, adOpenForwardOnly, adLockReadOnly, adCmdText
Hope this works for you!
Al
-
May 20th, 1999, 02:19 AM
#4
Re: Error 430 class doesn't support automation...Help!!!
Thanks for your reply.
Honestly, I think that's (i.e. late binding) a high price. MS keeps telling you that you should early-bind whenever possible.
But you are right: some very hard to solve COM problems can be "solved" by using late binding. It's a PITA, though.
-
May 21st, 1999, 10:53 AM
#5
Re: Error 430 class doesn't support automation...Help!!!
I agree with you. If you do come across or find a solution so that I can avoid late binding please let me know.
Thanks much
-
July 6th, 1999, 09:05 AM
#6
Re: Error 430 class doesn't support automation...Help!!!
Hy!
I get the same ErrorMessage but i don't know why?
So i made a testclass and a testproject.
I have an ActiveX-DLL with only one declaration:
testpro.dll (testclass)
public test as string
This testclass i've bind to the testproject:
textproject.exe
public cltest as testclass
function InitSys() as integer
set cltest = new testclass
end function
All works correct, but if i create the dll once again, and i start testproject.exe without compiling it once again, i get the ErrorMessage:430 ???
PLEASE HELP ME!!
Thanks
Robert
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|