Solved

EOLESysError Help!!!!

Posted on 1998-03-09
6
252 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
  • 3
  • 2
6 Comments
 
LVL 8

Expert Comment

by:ZifNab
Comment Utility
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
Comment Utility
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
Comment Utility
Yes, I am using Delphi3 pro.
cheers
harry.
0
IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 
LVL 4

Accepted Solution

by:
d003303 earned 100 total points
Comment Utility
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
Comment Utility
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
Comment Utility
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

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

The uses clause is one of those things that just tends to grow and grow. Most of the time this is in the main form, as it's from this form that all others are called. If you have a big application (including many forms), the uses clause in the in…
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…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…

728 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

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now