Bugs item #1527210, was opened at 2006-07-23 10:05
Message generated for change (Comment added) made by drieseng
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=402868&aid=1527210&group_id=31650

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Tasks
Group: 0.85
>Status: Closed
>Resolution: Fixed
Priority: 5
Submitted By: Andy Nguyen (andynguyen)
>Assigned to: Gert Driesen (drieseng)
Summary: Incorectly treats certain COM properties as functions

Initial Comment:
The solution task Incorectly treats certain COM
properties as functions. NAnt 0.85 RC4.

My solution has a project that references an OCX. The
property displayed in Object Browser like this:

public virtual new short Threshold [  get,  set ]
    Member of AxOMRCtrl.AxOMRCtrl

Building the solution inside Visual Studio 2003 or from
CruiseControl.NET works just fine. When using NAnt, I
got this error:

 [solution] src\.....BatchUC.cs(1289,29): error CS0654:
Method 'AxOMRCtrl.AxOMRCtrl.Threshold(short)'
referenced without parentheses
 [solution] src\.....BatchUC.cs(1291,17): error CS0654:
Method 'AxOMRCtrl.AxOMRCtrl.Threshold (short)'
referenced without parentheses
 [solution] Build failed.

Threshold is defined under the method section of
dispinterface as:

[propget, id(18), helpstring("property Threshold")]
HRESULT Threshold([out, retval] short *pVal);
[propput, id(18), helpstring("property Threshold")]
HRESULT Threshold([in] short newVal);

The other properties that did not produce error are
defined under the properties section of disinterface
and are similar to this:

[id(8)] boolean Open;

I'm using , and have tried with both .NET 1.1 and 2.0
Framework. I have also tried running NAnt from the
Visual Studio .NET 2003 Command Prompt.

----------------------------------------------------------------------

>Comment By: Gert Driesen (drieseng)
Date: 2006-07-23 10:19

Message:
Logged In: YES 
user_id=707851

We were NOT using the dispret transform when importing the 
type library, and as a result [out, retval] parameters of 
methods on dispatch-only interfaces (dispinterfaces) were
not transformed into return values.

As part of the fix, I've added a "transform" attribute to 
<tlbimp> which is ignored when targeting .NET Framework 
1.0 (as dispret is only implemented in .NET 1.1 and 
higher).

I'll upload a new nightly build in a few hours, and let 
you know (by email) when it's available.

Thanks for the report!

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=402868&aid=1527210&group_id=31650

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
nant-developers mailing list
nant-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-developers

Reply via email to