?
Solved

EOLESysError Help!!!!

Posted on 1998-03-09
6
Medium Priority
?
287 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
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
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
LVL 4

Accepted Solution

by:
d003303 earned 300 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

New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

Question has a verified solution.

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

Have you ever had your Delphi form/application just hanging while waiting for data to load? This is the article to read if you want to learn some things about adding threads for data loading in the background. First, I'll setup a general applica…
Introduction I have seen many questions in this Delphi topic area where queries in threads are needed or suggested. I know bumped into a similar need. This article will address some of the concepts when dealing with a multithreaded delphi database…
Integration Management Part 2
In a question here at Experts Exchange (https://www.experts-exchange.com/questions/29062564/Adobe-acrobat-reader-DC.html), a member asked how to create a signature in Adobe Acrobat Reader DC (the free Reader product, not the paid, full Acrobat produ…
Suggested Courses
Course of the Month17 days, 13 hours left to enroll

831 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