[jawsscripts] Re: Making progress on connecting JAWS to DLL but...

  • From: "Peter Torpey" <ptorpey00@xxxxxxxxx>
  • To: <jawsscripts@xxxxxxxxxxxxx>
  • Date: Mon, 20 Jul 2015 08:12:21 -0400

Yes, I did run regsvr32 manually after the DLL was created.

Question: When I create the additional class that wants to connect to JAWS, I
Add this as an ATL class. In the dialog that comes up I accept all of the
default options. "dual" is checked by default. Are there any other options
inside there that I should be checking? There is one about "Interface
connection" that is unchecked. Do I need to check that?

I can't imagine what else is different.

Thanks.


-----Original Message-----
From: jawsscripts-bounce@xxxxxxxxxxxxx
[mailto:jawsscripts-bounce@xxxxxxxxxxxxx] On Behalf Of Soronel Haetir
Sent: Monday, July 20, 2015 12:55 AM
To: jawsscripts@xxxxxxxxxxxxx
Subject: [jawsscripts] Re: Making progress on connecting JAWS to DLL but...

Did you remember to regsvr32 the output? (The project by default will
do that when built, but unless you run with user account control
disabled or run VS elevated that step will not actually succeed
despite the rest of the build going fine).

On 7/19/15, Peter Torpey <ptorpey00@xxxxxxxxx> wrote:

Soronel,


I mis-spoke in my note below. I did indeed see the lib file in my project
as I did in yours. So that was not the problem.



I compared both projects and can't figure out the difference. I seem to
have all of the same classes and the IDL file looks similar. Maybe there
was some other setting that you made when creating or configuring the
project that I missed?



As I said, when I added the class to interface to JAWS, I did create it as
a
dual dispatch and set the project to compile as X64.



Something is still missing and I don't know where to look.



I replaced your line of code that creates the object in the JAWS script
with
mine:

var object testObj = CreateObject ("SimpleDLL.MyFuncts" )

where SimpleDLL is my project name and MyFuncts is the class I added to
connect to JAWS.



Here is the IDL file. As you can see it references MyFuncts and seems to
have been created as a dual dispatch object. Does this tell you anything
about what is wrong with my project?



// SimpleDLL.idl : IDL source for SimpleDLL

//



// This file will be processed by the MIDL tool to

// produce the type library (SimpleDLL.tlb) and marshalling code.



import "oaidl.idl";

import "ocidl.idl";



[

object,

uuid(BD648E9E-8417-4D91-AE4C-CF4825BCC7A8),

dual,

nonextensible,

pointer_default(unique)

]

interface IMyFuncts : IDispatch{

};

[

uuid(FD9DD04D-0104-4D2E-94A9-8610EA8FDEBA),

version(1.0),

]

library SimpleDLLLib

{

importlib("stdole2.tlb");

[

uuid(88306E73-DEAB-438C-9041-6E40EEC33F17)

]

coclass MyFuncts

{

[default] interface IMyFuncts;

};

};







From: Peter Torpey [mailto:ptorpey00@xxxxxxxxx]
Sent: Sunday, July 19, 2015 9:47 PM
To: 'jawsscripts@xxxxxxxxxxxxx'
Subject: Making progress on connecting JAWS to DLL but...



Okay, the project that Soroneel sent me works fine and I can connect to
JAWS
scripts.



However, when I repeat the preprocess he describes from scratch, I am not
able to connect to my object with JAWS.



I am using the dual dispatch objects in an ATL class and I am using an X64
bit compile as suggested.



One difference I see in the project that I built vs. the one that Soroneel
sent me was that his project has an ATLTestLib class in the project. My
project did not generate such a lib class when I generated it.



There must still be some configuration setting different or something else
that I must add to the project.



Any advice?



Thanks.



--Pete



__________�

View the list's information and change your settings at
//www.freelists.org/list/jawsscripts




--
Soronel Haetir
soronel.haetir@xxxxxxxxx
__________�

View the list's information and change your settings at
//www.freelists.org/list/jawsscripts


__________�

View the list's information and change your settings at
//www.freelists.org/list/jawsscripts

Other related posts: