Topic: New (1 of 10), Read 48 times, 2 File Attachments
Conf: Startup, File Open, Exit
From: Ted Green
Date: Thursday, August 19, 2004 05:23 PM

I have repeatedly mentioned that "someday" we would properly implement the "Open with VEDIT" function in the Explorer right-click (context) menu. Well, that day has finally come. :-)

In Windows terminology, this requires a "shell extension" implemented as a .DLL file with proper entries in the registry.

While this will be added to the installation in the next release of VEDIT, you can try a preliminary version.

1. Copy the attached vshellx.dll file to your VEDIT
directory, assumed to be c:\vedit.

2. Double-click the attached vshxwnt.reg file to make
three registry additions. If you have installed VEDIT
somewhere other than c:\vedit, first edit the .reg
file, which is a simple text file.

Note: You must have "administrator" rights to add a
shell extension.

Now, when you right click on any file in Explorer, you will see an "Open with VEDIT" item. :-)

While this .DLL works well, it is not perfect. There are some minor issues:

* The "Open with VEDIT" is often not near the top of the context menu. (Other shell extensions know how to force their way up.)

* It currently does not display the VEDIT icon in the context menu, even though it is supposed to.

This is our first exposure to Window's COM programming and we are novices at it. Therefore, I will be happy to make the source available to any COM expert who would like to take a shot at improving it. We started with some widely used sample code.

Ted.

 
VSHELLX.DLL (139KB)
 
VSHXWNT.REG (1KB)

 


Topic: Re: New 'Open with VEDIT' function (2 of 10), Read 41 times
Conf: Startup, File Open, Exit
From: Christian Ziemski
Date: Saturday, August 21, 2004 09:34 AM

On Thu, 19 Aug 2004 17:23:00 -0400, Ted Green wrote:

>While this will be added to the installation in the next release of
>VEDIT, you can try a preliminary version.

Unfortunately it doesn't work here (W2k-SP4, German).
Or only a bit...

After some more investigations I'll give more infos.

Christian

 


Topic: Re: New 'Open with VEDIT' function (3 of 10), Read 48 times
Conf: Startup, File Open, Exit
From: Christian Ziemski
Date: Saturday, August 21, 2004 11:43 AM

On Thu, 19 Aug 2004 17:23:00 -0400, Ted Green wrote:

>I have repeatedly mentioned that "someday" we would properly implement
>the "Open with VEDIT" function in the Explorer right-click (context)
>menu. Well, that day has finally come. :-)
>...
>While this will be added to the installation in the next release of
>VEDIT, you can try a preliminary version.
>...
>Now, when you right click on any file in Explorer, you will see an
>"Open with VEDIT" item. :-)

As I wrote earlier:
Unfortunately it has some problems here (W2k-SP4, German).

1) In Windows Explorer there is no general "Open with VEDIT" item.

2) I'm using an alternative Explorer (Ontrack PowerDesk).
There is no "Open with VEDIT" too.

But your extension forces an error message in PowerDesk when
opening the context menu for a file:
"MFC42D.DLL not found in path ...."
That error message disappears after some actions and reappears
after restarting PowerDesk.

MFC42D.DLL really isn't existing on my whole system but is
mentioned in your VShellX.dll.


I tried to find out more and checked the Registry entries.

For that I wrote a helper macro
http://ziemski.privat.t-online.de/vedit/macros/reg-search.vdm

To use this macro:
1) Export the complete registry to a text file.
2) Translate that file with utf-ansi.vdm from Unicode to Ansi
3) Search the string you are looking for with VEDITs Search (F2)
4) Call the macro

The macro uses the last used search string and extracts all registry
keys (with complete contents) containing this string to a new file.
Of course that may become a big file. It's fascinating how many
entries Windows creates for "vedit" ...

Then I compared those VEDIT entries with two other tools that managed
it to have a context menu entry in Explorer.

And found some differences. But after changing VEDITs entries
according to the other ones it still doesn't work.

So I think it must have to do with the VShellX.dll (which is much
bigger than the other tools' ones).

Perhaps it's the missing MFC42D.DLL?

Hmmm, no more ideas now...


Christian

 


Topic: Re: New 'Open with VEDIT' function (4 of 10), Read 55 times, 1 File Attachment
Conf: Startup, File Open, Exit
From: Ted Green
Date: Saturday, August 21, 2004 12:36 PM

At 11:44 AM 8/21/2004, you wrote:
>As I wrote earlier:
>Unfortunately it has some problems here (W2k-SP4, German).
>
> MFC42D.DLL really isn't existing on my whole system but is
> mentioned in your VShellX.dll.
>
>So I think it must have to do with the VShellX.dll (which is much
>bigger than the other tools' ones).

I have attached another, much smaller vshellx.dll. The first one was linked in "debug" mode in case an experienced programmer was interested in "debugging" it. (I will send the source of vshellx.dll to any interested VEDIT customer.)

This one was linked in "release" mode and is much smaller. I Google'd mfc42d.dll and it appears to be used for debugging MFC programs, which this is. However, the release version still references mfc42d.dll, but perhaps it is now unused.

Please give this one a try.

Ted.

 
VSHELLX(1).DLL (37KB)

 


Topic: Re: New 'Open with VEDIT' function (5 of 10), Read 56 times
Conf: Startup, File Open, Exit
From: Christian Ziemski
Date: Saturday, August 21, 2004 01:58 PM

On Sat, 21 Aug 2004 00:36:00 -0400, Ted Green wrote:

>This one was linked in "release" mode and is much smaller. I Google'd
>mfc42d.dll and it appears to be used for debugging MFC programs,
>which this is.
>However, the release version still references mfc42d.dll,
>but perhaps it is now unused.
>
>Please give this one a try.

Success!

In Windows Explorer and in PowerDesk!


Christian

 


Topic: Re: New 'Open with VEDIT' function (6 of 10), Read 59 times
Conf: Startup, File Open, Exit
From: Ian Binnie
Date: Saturday, August 21, 2004 08:48 PM

On 8/21/2004 12:36:28 PM, Ted Green wrote:
>I have attached another, much
>smaller vshellx.dll. The first
>one was linked in "debug" mode
>in case an experienced
>programmer was interested in
>"debugging" it. (I will send
>the source of vshellx.dll to
>any interested VEDIT
>customer.)
>
>This one was linked in
>"release" mode and is much
>smaller. I Google'd mfc42d.dll
>and it appears to be used for
>debugging MFC programs, which
>this is. However, the release
>version still references
>mfc42d.dll, but perhaps it is
>now unused.

The original worked for me, but I have several copies of MFC42D.DLL (including C:\WINDOWS\system32\MFC42D.DLL).
Probably not surprising as I have VC6.0++.

I will try on another system without Visual Studio.

NOTE the latest uses mfc42.dll, not mfc42d.dll.

If you hover the mouse over the dll, you will see that the Description of mfc42d.dll includes "Debug Version" while mfc42.dll includes "Retail Version".

 


Topic: Re: New 'Open with VEDIT' function (8 of 10), Read 61 times
Conf: Startup, File Open, Exit
From: Ted Green
Date: Saturday, August 21, 2004 11:48 PM

At 08:48 PM 8/21/2004, you wrote:
>If you hover the mouse over the dll, you will see that the Description of mfc42d.dll includes "Debug Version" while mfc42.dll includes "Retail Version".

Thanks for noticing this detail which I overlooked. We have avoided DLLs like the plague (which they are).

Ted.


Ted.
-------------------------------------------------------------------------
Ted Green (ted@...) Greenview Data, Inc.
Web: www.... Fax: 734-996-1308 PO Box 1586, Ann Arbor, MI 48106
Tel: (734) 996-1300 Desk: 734-369-3550 VEDIT - Text/Data/Binary Editor
-------------------------------------------------------------------------
www.SpamStopsHere.com ranked #1 in accuracy by Network Computing Magazine

 


Topic: Re: New 'Open with VEDIT' function (7 of 10), Read 57 times
Conf: Startup, File Open, Exit
From: Ian Binnie
Date: Saturday, August 21, 2004 08:52 PM

On 8/21/2004 12:36:28 PM, Ted Green wrote:
>I have attached another, much
>smaller vshellx.dll.

PS the Version resource of this dll only seems to have the default information.

It is very important to include proper versions once you start distributing dlls.

 


Topic: Re: New 'Open with VEDIT' function (9 of 10), Read 60 times
Conf: Startup, File Open, Exit
From: Ted Green
Date: Saturday, August 21, 2004 11:49 PM

At 08:52 PM 8/21/2004, you wrote:
>PS the Version resource of this dll only seems to have the default information.
>It is very important to include proper versions once you start distributing dlls.

OK. I will make sure that gets done.

Ted.

 


Topic: Re: New 'Open with VEDIT' function (10 of 10), Read 56 times
Conf: Startup, File Open, Exit
From: Ted Green
Date: Monday, September 06, 2004 07:19 PM

At 08:52 PM 8/21/2004, you wrote:
>From: Ian Binnie
>
>On 8/21/2004 12:36:28 PM, Ted Green wrote:
>>I have attached another, much
>>smaller vshellx.dll.
>
>PS the Version resource of this dll only seems to have the default information.
>
>It is very important to include proper versions once you start distributing dlls.

Done. Thank for pointing this out.

Ted.