GeoShell Tech Support Forum

* Home Help Search Login Register
+  GeoShell Tech Support Forum
|-+  GeoShell R4
| |-+  Tips and Tricks
| | |-+  Fix Unable to start shell DDE. Failed to obtain function Shdocvw.118 in V*sta
0 Members and 1 Guest are viewing this topic. « previous next »
Pages: [1] Go Down Print
Author Topic: Fix Unable to start shell DDE. Failed to obtain function Shdocvw.118 in V*sta  (Read 12036 times)
gtfunding
Recruit
*

Reputation: 0
Posts: 5


« on: June 20, 2008, 04:23:02 AM »

Hello and good morning all I have come up with a fix for the error while booting V*sta. The one that pops open a box stating "Unable to start shell DDE. Failed to obtain function Shdocvw.118" After pouring over tons of code last night from both ReactOS and GeoShell and comparing multiple avenues for a fix I came up with a very simple fix. Are you dying with anticipation yet?

After compiling the latest source from svn for Reactos Alpha I was testing a bunch of the software and decided to put the Reactos version of Shdocvw.dll that I had just compiled in the geoshell director to see if it would use it rather then the one that came with V*sta. It works flawlessly so far and the message is gone. It is also much faster. Just make sure if you use the file you put it in the Geoshell folder that has geoshell.exe and not your system32 folder because if you do you are likely to break some thing else.

Now for the tech stuff The files version for shdocvw.dll I used is  Wine core dll 5.50.0.0 ReactOS version 5.50 .

The program is GPL. The OS is GPL. The entire source code is available by svn in the ReactOS tree at source forge. This includes the dll we needed. I am making the version I compile available free under the GPL to all.

I am hoping to build a version of ReactOS in the very future using GeoShell for the default shell and destribute it freely under the name GeOS if the name is available, and every one is ok with it.

I am making the file available on rapidshare.

http://rapidshare.com/files/123765147/shdocvw.zip.html

I hope you all enjoy it.
Logged
gtfunding
Recruit
*

Reputation: 0
Posts: 5


« Reply #1 on: June 20, 2008, 03:57:03 PM »

 I was just wondering if anyone else has tried my work around (and/or) fix above. I would also like know how it worked for you.

Here is a snip it of the source code for the function called from the GPL dll I have referenced above. It may be useful in finding a directly coded solution.

/***********************************************************************
 *      @ (SHDOCVW.118)
 *
 * Called by Win98 explorer.exe main binary, definitely has only one
 * parameter.
 */
static BOOL (WINAPI *pShellDDEInit)(BOOL start) = NULL;

BOOL WINAPI ShellDDEInit(BOOL start)
{
    TRACE("(%d)\n", start);

    if (!pShellDDEInit)
    {
      if (!SHDOCVW_LoadShell32())
        return FALSE;
      pShellDDEInit = GetProcAddress(SHDOCVW_hshell32, (LPCSTR)188);
    }

    if (pShellDDEInit)
      return pShellDDEInit(start);
    else
      return FALSE;
}

/***********************************************************************
Logged
Joel "Jaykul" Bennett
Lead Developer
Administrator
*****

Reputation: 995
Posts: 442


Many a man's tongue broke his nose...


WWW
« Reply #2 on: September 19, 2008, 06:07:41 PM »

Whoah. Ok, I haven't been paying any attention here because I thought I was getting emails when people posted ... clearly I've been missing stuff.

That patch looks great ... I'll try to see if I can't apply it to the core and ... maybe (no promises) actually make a new release Wink
Logged

A little inaccuracy sometimes saves tons of explanation. -- H. H. Munroe
Pages: [1] Go Up Print 
« previous next »
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.2 | SMF © 2006-2007, Simple Machines LLC Valid XHTML 1.0! Valid CSS!