OLE controls in DLL's using vc4.2
Chris Masterton -- chris@digital-animations.co.uk Wednesday, August 07, 1996 Environment: Win 95, VC++ 4.2 I shall be more specific about the problem we arehaving with the OLE = control. The ole control does indeed live inside a dll which is set up = as an ole container. The ole control is infact the Animated Button = Control which came from the component gallery (we also tested this with = other controls from the component gallery). We went further, we wrote a = test application that called the canibutton control which worked = perfectly. However we then wrote a test dll which suffered the same = problem as we reported earlier. We have found a work around for this = which involved dropping the ole control but its annoying not to know = what exactly was causing the problem. >When searching through the MFC sources, I can't find this error message = anywhere. It is the MFC that reports this error. "not registering ole control" = wasnt the 'actual' text message produced in the debuggers output, = apologies for misleading you on that. I am positive that it is the MFC = that outputs this error though. I'll get the exact output to you as = soon as I get a chance. Its all been checked out only means that we've racked our brains at this = side to try and find what the problem was, the only solution we could = come up with was that there was a bug in 4.2. We may on the other hand = have forgotten something something ridiculously simple, but I dont think = so. >If the DLL you are trying to register, can't find a dll or ocx it is = looking for, it won't register. You might make sure all required dll's = are in the path. The dll and ocx are definetely in the right places. >You say you installed 4.2 over 4.1. After doing so, what did you = recompile:=20 >your application? your OLE control? both? Yup, recompiled it and it didnt help much unfortunately. The same = scenario (ole in a dll) was tested on a completely different machine and = the same problem was occurring. >on all machines? On all machines. Hope thats enough information for you. Chris
Mike Blaszczak -- mikeblas@nwlink.com Saturday, August 10, 1996 At 10:39 AM 8/7/96 +-100, you wrote: > It is the MFC that reports this error. Generally, MFC only reports these problems via a TRACE message. So, the problem is happening to you under the debugger? Or is this problem happening to you when you run REGSVR32 during the build of your control? REGSVR32 isn't MFC -- but you do have the source code for it. Maybe you should try making a debug build of REGSVR32, tracing through it, and carefully watching what happens. > "not registering ole control" > wasnt the 'actual' text message produced in the debuggers output, > apologies for misleading you on that. I am positive that it is > the MFC that outputs this error though. I'll get the exact output > to you as oon as I get a chance. Until you get the exact error message, we really have little hope of helping you. It would be great to see you post somethign that explains _when_ the error messgae comes up, too: 1) Drop to a DOS box 2) Run Duke Nukem 3D 3) Pause Duke 4) Switch to the tape backup program 5) Start a backup of drive D: to DAT 6) Open the "My computer" icon 7) Use it to Explore to C:\ 8) Double click on AUTOEXEC.BAT 9) Observe the error message, in a message box with MB_ICONASTERISK, "Can not register OLE control: error code 0x0000439". The messaeg box has the title "Duke Nukem 3D OLE Control Manager" Imagine how easy it would be to suggest solutions if you provided the exact error message! We don't even know what program you're running to try to register the control. >>You say you installed 4.2 over 4.1. After doing so, what did you recompile: >>your application? your OLE control? both? > >Yup, recompiled it and it didnt help much unfortunately. >The same scenario (ole in a dll) was tested on a completely >different machine and the same problem was occurring. I don't understand your answer to John. John said "Did you recompile your application, or your control, or Both?" and you said "Yes, we recompiled it". Which is "it"? >Hope thats enough information for you. We're not trying to go out of our way to be jerks. We're going out of our way to help you. It's _imperative_ that you provide enough information to diagnose the problem. After exchanging this third message with you, we're still wondering which error message you get and how you're trying to register the control. You've gone to the mechanic and said "my car won't start, fix it", and just walked out. The mechanic actually managed to stop you, and you said "Well, it's not that my car won't start, exactly, but something's wrong with it. And it's my friend who told me there was a problem, and he knows all about it, but he's not here." What's the mechanic to do? .B ekiM http://www.nwlink.com/~mikeblas/ These words are my own. I do not speak on behalf of Microsoft.
| Вернуться в корень Архива |