Solved

EOLESysError Help!!!!

Posted on 1998-03-09
6
271 Views
Last Modified: 2010-04-06
On the machine I have written a piece of Delphi software on (i.e. the one with delphi installed on it), I can compile and run it without error. When I use the install shield to create a set of disks I include all the relevant files and db tables and set up the aliases etc. My problem is that when i install it on a machine without delphi installed it doesnt  work and comes up with an "EOLESysError class not registered" error.

I am however using extra delphi component packages supplied by ABC with alternative dbnavigator buttons etc.
As I did get the install shield to work on a much earlier prototype without using the ABC components I think this may have something to do with it.

What can I do to Fix This Problem?

Cheers,
Harry
0
Comment
Question by:hboys
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
6 Comments
 
LVL 8

Expert Comment

by:ZifNab
ID: 1360301
Ok, I guess you've installed the BDE too. So that isn't the problem. But those ABC components, they are OCX? or something else? Look at your registry and search for ABC things. I guess these components install something in the registry or even use certain DLL's... I'm almost sure you'll find something in the registry. If so you've to install that too on the other computer.

Good luck,
Regards, Zif.
0
 
LVL 4

Expert Comment

by:d003303
ID: 1360302
Yo,
the "EOLESysError class not registered" error occurs when a class that resists in an OCX file is not installed on the system.
I took a look at the ABC components, I don't think they rely on OCX-Base because they are for Delphi 1. Maybe you have a newer version.
So the question to help you further is if you are using Delphi 3 ?
0
 
LVL 2

Author Comment

by:hboys
ID: 1360303
Yes, I am using Delphi3 pro.
cheers
harry.
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 4

Accepted Solution

by:
d003303 earned 100 total points
ID: 1360304
OK, you run Delphi 3. So have a look at Component->Import ActiveX-Control and have a look for the ABC components. When you select an entry in the listbox, the panel underneath displays the name and path of the correspondind OCX. Write these down for all ABC components and add them to the installation of your program (shall be copied into the \system32 directory of the target machine). Then, for each OCX, run the command regsvr32 /s name_of_ocx.ocx to register it in the system.

Hope this helps,
Slash/d003303
0
 
LVL 2

Author Comment

by:hboys
ID: 1360305
Slash,
I see what you meen about the OCX files. I don't think it is an ABC component that is causing the problem though.

One question, when you said that I have to register the OCX files I copy across, do I do this under the setup of the install shield and if so how?
Also in the past I chose an option under the Project|Options|Packages section that said build with runtime packages. Under the install shield I then included all the files that were listed and installed them in the windows\system directory on the target computer. Do I have to register these on target also?

Thanks
Harry.
0
 
LVL 4

Expert Comment

by:d003303
ID: 1360306
Package files do not have to be registered. They behave like normal DLLs and are managed by their corresponding application. OCX files contain interfaces and objects that are managed by the system. To make the system know about these objects, they have to be registered. Then the contained objects can be used by any application written in any programming language.
Take a look at components you are using besides the native Delphi components (EXCLUDING the internet controls, they ARE OCX), one of them must use an OCX.
To register them, unfortunately InstallShield Express does not provide a feature to run a command line while Setup is running. What you can do is performing a check if the OCX(s) is/are installed on program startup and register them with
WinExec('regsvr32 /s name_of_ocx.ocx', SW_HIDE)
if they are not. For that, search the registry for that OCX file. You should find it in HKCR\CLSID\{some id}\InprocServer32. Check for the HKCR\CLSID\{some id} key on startup.

Good luck,
Slash/d003303
0

Featured Post

On Demand Webinar - Networking for the Cloud Era

This webinar discusses:
-Common barriers companies experience when moving to the cloud
-How SD-WAN changes the way we look at networks
-Best practices customers should employ moving forward with cloud migration
-What happens behind the scenes of SteelConnect’s one-click button

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
This article explains how to create forms/units independent of other forms/units object names in a delphi project. Have you ever created a form for user input in a Delphi project and then had the need to have that same form in a other Delphi proj…
Michael from AdRem Software explains how to view the most utilized and worst performing nodes in your network, by accessing the Top Charts view in NetCrunch network monitor (https://www.adremsoft.com/). Top Charts is a view in which you can set seve…
In this brief tutorial Pawel from AdRem Software explains how you can quickly find out which services are running on your network, or what are the IP addresses of servers responsible for each service. Software used is freeware NetCrunch Tools (https…

688 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question