Cannot Create ActiveX Component

  • Thread starter Thread starter Steve Andrews
  • Start date Start date
S

Steve Andrews

Hi All,

Our network has an application which calls an Excel
spreadsheet containing a macro which attempts to create an
object found on a DLL. We have assured that this DLL is
referenced for this application.

On new XP machines, however, we run into problems.
Specifically, upon attempting the creation of the object
we get an Error 429 (ActiveX component can't create object
or return reference to this object).

Aside from having the Excel application reference the DLL,
what else must be done for an XP machine? Must this
object be registered in the registration database? Must
the programn settings be stored in the Windows system
initialization files?

Our system analyst suggests that these latter requirements
only apply to Windows version 3.1 and NOT to XP. Is he
correct? If so, what other factors could prevent newer XP
machines from running this application? Thanks in advance.

Steve
 
Where are you getting this error? Launching Excel, or loading the DLL? If
you are attempting to load a COM DLL, you need to run regsvr32 on it first,
before the COM runtime will be able to find it.
 
Chris,

It occurs when running Excel. Specifically, when the
macro attempts to execute the VB statement:
CreateObject("PortFind.PortClass")
The Excel spreadsheet is small and is called from a
database application.

With the database currently incapable of printing barcodes
of the right size, we write the data out to a file and
then run this Excel spreadsheet. This process has worked
fine for years. But new machines with XP has given many
problems.

In fact, the reason why we go through this "PortFind"
object on a DLL is because of XP updates. The XP updates
will change port assignments of printers arbitrarily.
Hence we wrote a function within the DLL which can find
the port for a given printer.

Steve
 
Well, first make sure that you have run regsvr32 on the PortFind object, to
ensure that it is registered with the COM runtime properly. The other thing
that could be happening is that your object may be referencing libraries
with also need to be installed or that has been deprecated, which will
involve some knowledge of how this component was written.
 
Back
Top