Using VB6.0 apllications on Windows XP Embedded

M

Massimo Piceni

Hi,

I've problems in running a VB6.0 application on Windows
XP Embedded with SP1. I loaded the msvbvm60.dll and the
program starts correctly, but hangs during inizialization
of an ActiveX component with the following
error: "RunTime Error 429, ActiveX component can't create
Object". The problem is that the ActiveX component
doesn't create any object.
Does anyone knows how to use VB6.0 programs on XP
Embedded ? Do I have to load any special component ?

Thanks a lot.

Massimo Piceni.
 
C

Chew Lek Wah

maybe there is some other dll that your component needs that u might have
missed.
 
M

Massimo Piceni

Hi Chew,

thanks for your reply.

I checked with dependency walker and seems that
everything is there.
Moreover, when a DLL is missing, the OS normaly raises an
error related to that specific file (this happens if you
miss msvbvm60.dll, for instance). In this case the error
is realted to an initialization, probably of the
msvbvm60.dll itself. That's why I was asking if there are
particular task to perform for VB6.0 applications.

Bye.

Massimo.
 
S

Simon Wilton

Been here myself.

1st thing, there is VB6 run-time support component. Put that in your build.
This gives you not only msvbvm60, but a coherrent set of the supporting OLE
files. Although it sounds like you managed that already from somewhere else,
it doesn't hurt to do it cleanly.

Your main problem is probably that your VB application uses one or more
controls (OCXs) that are not in your build. Whilst all the XP API and GUI
will be in your build, only the intrinsic controls that come from msvbvm60
will be there. If you add it to your project (be it supplied with VB or 3rd
party) Simple

Either have a look at what is ticked in Project Components in the VB IDE, or
(a better way as it resolves all the dependencies) do a P&D install and look
in SETUP.LST ([Bootstrap Files] come from the VB6 run-time component.
[Setup1 Files] are the ones that you will prodably find are missing from
your build).

You need to do a component that contains these files, and registers them.
Contact me off list if you want an example.

Hpe this helps

Simon
 
S

Simon Wilton

General comment on DEPENDS:

The version shipped with VS6 shows the DLLs which are static bound to the
file you are examining. It doesn't tell you which calls are used, any
libraries that are loaded/bound at run-time, or any COM dependencies. For a
straight VB application this will tell you it depends on the VB run-time and
not much else.

I have seen (not sure if I still have it) a better DEPENDS. Not sure where
it came from. With this you could run the file in DEPENDS. This showed the
calls that were made from the statically bound DLLs, and also showed the COM
dependiencies.

Any-one know about this?

Simon
 
M

Massimo Piceni

Hi Simon,

thanks a lot for your reply.

My actual problem is that I don't own the VB source code.
I'm just developing an hardware+os solution for a third
party application. I'll meet the software developer next
week to try to debug the application and see what's
wrong. Anyway, I've seen that other VB applications work
fine, so the problem is not on the VB runtime library.
Thanks for your kind offer. Maybe I'll contact you
offline next week if needed.

Best Regards.

Massimo.
-----Original Message-----
Been here myself.

1st thing, there is VB6 run-time support component. Put that in your build.
This gives you not only msvbvm60, but a coherrent set of the supporting OLE
files. Although it sounds like you managed that already from somewhere else,
it doesn't hurt to do it cleanly.

Your main problem is probably that your VB application uses one or more
controls (OCXs) that are not in your build. Whilst all the XP API and GUI
will be in your build, only the intrinsic controls that come from msvbvm60
will be there. If you add it to your project (be it supplied with VB or 3rd
party) Simple

Either have a look at what is ticked in Project Components in the VB IDE, or
(a better way as it resolves all the dependencies) do a P&D install and look
in SETUP.LST ([Bootstrap Files] come from the VB6 run- time component.
[Setup1 Files] are the ones that you will prodably find are missing from
your build).

You need to do a component that contains these files, and registers them.
Contact me off list if you want an example.

Hpe this helps

Simon

Hi,

I've problems in running a VB6.0 application on Windows
XP Embedded with SP1. I loaded the msvbvm60.dll and the
program starts correctly, but hangs during inizialization
of an ActiveX component with the following
error: "RunTime Error 429, ActiveX component can't create
Object". The problem is that the ActiveX component
doesn't create any object.
Does anyone knows how to use VB6.0 programs on XP
Embedded ? Do I have to load any special component ?

Thanks a lot.

Massimo Piceni.


.
 
S

Steve Miller

Simon Wilton said:
I have seen (not sure if I still have it) a better DEPENDS. Not sure where
it came from. With this you could run the file in DEPENDS. This showed the
calls that were made from the statically bound DLLs, and also showed the COM
dependiencies.

Any-one know about this?

You can always find the latest at...

http://www.dependencywalker.com

It will profile running applications for dynamic/runtime dependencies
and function calls.

- Steve
 
J

Jon Fincher (MS)

I have seen (not sure if I still have it) a better DEPENDS. Not sure
where it came from. With this you could run the file in DEPENDS. This
showed the calls that were made from the statically bound DLLs, and also
showed the COM dependiencies.

Any-one know about this?

http://www.dependencywalker.com gets you the latest version of DEPENDS.EXE
that has the functionality you're describing.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top