Solved

EOleSysError under NT5_Beta 2.

Posted on 1998-09-22
17
190 Views
Last Modified: 2010-04-06
When trying to start my app under NT5_Beta 2 I get the exception "EOleSysError, Class not registered." What does this error mean and is there an easy way to fix this? Btw, I'm using Delphi 4.0(with the update).

Thanks
0
Comment
Question by:Karma121397
[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
  • 8
  • 8
17 Comments
 
LVL 20

Expert Comment

by:Madshi
ID: 1340542
Karma,

probably you're using a COM object somewhere in your program that isn't registered yet. Do you have an 3rd party OCX, ActiveX or components or are you using COM objects directly?
Another question: If you use windows interfaces (=COM object) like IShellLink - have you called "CoInitialize"?

Regards, Madshi.
0
 

Author Comment

by:Karma121397
ID: 1340543
I'm not using any 3rd party OCX, ActiveX, or any external components. As for using COM objects directly.. I have no clue. Could you give me an example of what or where to look to determine this.
0
 

Author Comment

by:Karma121397
ID: 1340544
Well I must have done something or added something recently because I get the same error under Win98 now.
0
Independent Software Vendors: 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!

 

Author Comment

by:Karma121397
ID: 1340545
"Another question: If you use windows interfaces (=COM object) like IShellLink - have you called "CoInitialize"? ":
I did add a component that encapsulates the SHFileOperation() function(TFileOperation), does this count as a COM objcet and what would I need to do inorder to make sure I have called CoInitialize?
0
 
LVL 20

Expert Comment

by:Madshi
ID: 1340546
I'm not sure about SHFileOperation.
Please edit your project file.

var CoInitSucc : boolean = false;            // add this line
begin
  CoInitSucc:=succeeded(CoInitialize(nil));  // add this
  try                                        // and this
    Application.Initialize;
    Application.CreateForm...
    Application.Run;
  finally if CoInitSucc then CoUnInitialize; end;  // and this
end;

It's just a try. If it works - great. If not - we'll look for another solution.

Regards, Madshi.
0
 

Author Comment

by:Karma121397
ID: 1340547
{$R *.RES}
var CoInitSucc : boolean = false;            // add this line
begin
  CoInitSucc:=succeeded(CoInitialize(nil));  // add this
  try                                        // and this
    Application.Initialize;
    Application.CreateForm(TfrmMain, frmMain);
    Application.CreateForm(TfrmCrcArchiveAdd, frmCrcArchiveAdd);
    Application.CreateForm(TfrmProgressDlg, frmProgressDlg);
    Application.CreateForm(TfrmErrorLog, frmErrorLog);
    Application.CreateForm(TfrmOptions, frmOptions);
    Application.Run;
   finally if CoInitSucc then CoUnInitialize;
end;  // and this

This what I added to the project file, I get the following errors:
[Error] CRChecker.dpr(14): Undeclared identifier: 'succeeded'
[Error] CRChecker.dpr(23): Undeclared identifier: 'CoUnInitialize'
0
 
LVL 20

Expert Comment

by:Madshi
ID: 1340548
Please add ActiveX to the uses statement.

uses ActiveX, Forms,
     ...;

Regards, Madshi.
0
 
LVL 20

Expert Comment

by:Madshi
ID: 1340549
P.S: There's an "end" missing, too. The finally has it's own "end".
0
 

Author Comment

by:Karma121397
ID: 1340550
Well I tracked it down to the THTML component. If I remove it the error goes away. Any idea why it's giving me the error? Here is what I'm using HTML for(it just checks a file on my web server to see if the user has the most recent version).
Call to start the lookup:
HTML.RequestDoc('www.myserver.com/test.ver');

HTML ParseComplete Event:
procedure TfrmMain.HTMLParseComplete(Sender: TObject);
begin
  If (Length(HTML.SourceText) > 4) or (HTML.SourceText = '') then
    ShowMessage('Error Checking Version. Please try again later.')
  else if NeedToUpdate('2.04', HTML.SourceText) = True then
    ShowMessage('You need to update! Version ' + HTML.SourceText + ' has been released.')
  else
    ShowMessage('You have the most recent version');
  MainMenuCheckForUpdate.Enabled := True;
  TrayMenuCheckForUpdate.Enabled := True;
end;
0
 

Author Comment

by:Karma121397
ID: 1340551
Ok it compiled but I still have the error =(
0
 
LVL 20

Expert Comment

by:Madshi
ID: 1340552
Have you tried CoInitialize? Didn't it help?

If not, I think this HTML component tries to create a COM object that is not known (yet) by windows. Do you have the source code of this component? Then look for "QueryInterface" and write me these lines (if not too many).

Regards, Madshi.

P.S: Now it is almost 20:00 (PM) in Germany. So you'll have to wait some hours for my next comment. Perhaps someone else will have a try... Bon nuit.   :-)
0
 
LVL 20

Expert Comment

by:Madshi
ID: 1340553
Ooops, have not seen your last comment. Ok, please look for "QueryInterface".
Does this component come with a DLL?
0
 

Author Comment

by:Karma121397
ID: 1340554
Thanks for the help, go get some sleep =) The HTML component shipped with Delphi 4.0, it's under the Internet tab. QueryInterface didn't return any matches on a search of the files in my project.
0
 
LVL 20

Expert Comment

by:Madshi
ID: 1340555
I looked at this component, but unfortunately I've sources for all Delphi components except the internet components.
So I can't help you. The HTML component is an ActiveX-Component. I don't know exactly what is the problem. Seems that a needed class is not registered. I looked at the help file and found the following support eMail: "dev_support@netmanage.com". Please write your problem to this eMail.

Regards, Madshi.
0
 

Author Comment

by:Karma121397
ID: 1340556
Ok thanks for the info, you've been a great help. Please answer the question so I can give you creidt.
0
 
LVL 20

Accepted Solution

by:
Madshi earned 100 total points
ID: 1340557
Thank you...   :-)
0
 
LVL 10

Expert Comment

by:viktornet
ID: 1340558
Here is what I got in the Delphi support area.....
----------------
Error: "EOleSysError : Error loading type library/DLL"

          Question:

          The client machine displays error "EOleSysError: Error loading type library/DLL".
          DBCLIENT.DLL and IDPROV32.DLL files are present in the BDE directory of Delphi.

          Answer:

          Make sure that STDVCL32.DLL is on the machine in the
          WINDOWS\SYSTEM directory and registered.

            REGSVR32 STDVCL32.DLL
-------------
Regards,
Viktor Ivanov
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

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…
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…
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…
Finding and deleting duplicate (picture) files can be a time consuming task. My wife and I, our three kids and their families all share one dilemma: Managing our pictures. Between desktops, laptops, phones, tablets, and cameras; over the last decade…

752 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