Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Westi on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Nav Tools 2 Pro

Status
Not open for further replies.

Bertiethedog

Programmer
Feb 8, 2007
118
GB
I have installed this class on my machine, since I am taking over someone elses code I have a sample of it working fine.

The Error I get is OLE Error code 0x80040154 Class not registered

Anyone got any ideas?

Richard

 
I associated all of the ocx files with reg32svr, what is annoying me is the fact that it used to work.

I need a good understanding if I am going to use these progs.

The Demo that comes with the software works fine

Using vfp9 (for the first time)

Thanks
 
I am still struggling with this problem if anyone has any ideas
 
Richard,

Sorry nobody followed up your question.

Thre are two possibilities. First, it's just possible that the class was not properly registered, even though you explicitly did so. I suggest you unregister it and then register it again. From a command prompt, type:

REGSVR32.EXE <path and filename of OCX> /U
REGSVR32.EXE <path and filename of OCX>

You need to do that on the computer on which the application is running.

If that doesn't help, it could be that there is a version difference, that is, the version of your OCX file is different from the one that was originally used when creating the form that hosts the control.

The solution to that would be to open the form in the designer, copy any custom code from the control into a temporary file, make a note of all the control's non-default properties, then remove the control, add it back again, then reset its properties and add back the custom code.

Perhaps you could try this and report back.

Mike




__________________________________
Mike Lewis (Edinburgh, Scotland)

My Visual FoxPro site: www.ml-consult.co.uk
 
I have turned off adwatch as I know this monitors changes to the registry

I have a batch file with the following code
Code:
REGSVR32 ctButton.ocx /u
REGSVR32 ctExplorer.ocx /u
REGSVR32 ctFile.ocx /u
REGSVR32 ctFrame.ocx /u
REGSVR32 ctHyplnk.ocx /u
REGSVR32 ctImage.ocx /u
REGSVR32 ctListBar.ocx /u
REGSVR32 ctNavBar.ocx /u
REGSVR32 ctText.ocx  /u
REGSVR32 ctToolBar.ocx /u



REGSVR32 ctButton.ocx
REGSVR32 ctExplorer.ocx
REGSVR32 ctFile.ocx
REGSVR32 ctFrame.ocx
REGSVR32 ctHyplnk.ocx
REGSVR32 ctImage.ocx
REGSVR32 ctListBar.ocx
REGSVR32 ctNavBar.ocx
REGSVR32 ctText.ocx
REGSVR32 ctToolBar.ocx

Everythig claims to have suceeded


I have retryed and it still claims the components are unregistered

I have all the licence files in the same dir & I have made sure that there is only one copy of these files on the pc.

When I try to look at the file it is looking for an OCX file (very unspecific)
 
It is very lightly the wrong version, I have been told that Nav Tools has recently been upgraded.

Unfortunatly I don't know how to change the version in the forms.


Richard
 
Richard,

Unfortunatly I don't know how to change the version in the forms.

I dealt with that in my earlier reply:

[blue]The solution to that would be to open the form in the designer, copy any custom code from the control into a temporary file, make a note of all the control's non-default properties, then remove the control, add it back again, then reset its properties and add back the custom code.[/blue]

If that needs any further explanation, let me know.

Mike


__________________________________
Mike Lewis (Edinburgh, Scotland)

My Visual FoxPro site: www.ml-consult.co.uk
 
I had been getting in a right pickle over this.

I decided to treat the forms as tables and check the contents of "ole2".

They were pointing at files that didn't exist.

I created a form called master & put all the OLE objects on to it then ran the following code. I only "straightened up" ole2 to point at a known file ole and objcode. The advantage was that all the embedded procedures remained intact.

Thanks Mike for your invaluable help, you may find it hard to believe but my foxpro experience goes back to 1992. But I tend to be a number cruncher OLE is a foreign language.

Code:
Close Tables All
USE master.scx IN 0 ALIAS ref

=Adir(filearray,'*.scx')
lcPrefix = 'OLEOBJECT = C:\PROGRA~1\DBITECH\NAVTOO~1\COMPON~1\'
For i = 1 To Alen(filearray,1)
	m.name = filearray[i,1]
	If Upper(m.name) != 'MASTER.SCX'  && Don't want to modify the reference file

		Use (m.name) In 0 Alias testfile
		Select testfile
		Scan For !Empty(testfile.ole2)

			lnLen = Len(Alltrim(testfile.ole2)) -7
			m.objecttest = Upper(Left(Alltrim(testfile.ole2),lnLen))
			m.objecttest = RIGHT(m.objecttest,7)
			
			If 'MSCOMCTL.OCX' $ m.objecttest   && Avoid
			ELSE
				SELECT ref
				SCAN FOR !EMPTY(ref.ole2)
					lnLen = Len(Alltrim(testfile.ole2)) -7
					m.objectref = Upper(Left(Alltrim(testfile.ole2),lnLen))
					m.objectref = RIGHT(m.objectref,7)
				
					IF m.objectref == m.objecttest
						*-*  the Bit
						replace testfile.ole2 WITH ref.ole2, ;
							testfile.objcode WITH ref.objcode, ;
							testfile.ole WITH ref.ole
					endif
				endscan
			Endif
		


		Endscan
		Use In testfile
	Endif

Next
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top