Author |
Topic |
|
studoot
Senior Member
35 Posts |
Posted - Mar 09 2006 : 04:38:32 AM
|
...in IDL files!
To reproduce:
Open Visual Studio 2005. Select File->New->File Select the Visual C++ catergory and open a new MIDL file.
Type a C or C++ style comment and type 'Interface'. As you do, you should see a suggestion box being popped up. This doesn't happen in comments in C/C++ files. |
|
studoot
Senior Member
35 Posts |
Posted - Mar 09 2006 : 04:40:00 AM
|
Sorry - forgot to include the VAX install details. Also, the problem occurs in VS2003 as well as 2005.
VA_X.dll file version 10.2.1442.0 built 2006.03.07 Licensed to: VA X: [email protected] (1-user license) Support ends 2006.06.27 VA.NET 7.1: VA 4.1: VAOpsWin.dll version 1.3.2.4 VATE.dll version 1.0.4.15 DevEnv.exe version 8.0.50727.42 msenv.dll version 8.0.50727.42 Font: Courier New 13(Pixels) Comctl32.dll version 5.81.4916.400 WindowsNT 5.0 Build 2195 Service Pack 4 Single processor
Platform: Win32 Stable Includes: C:\\Program Files\\Microsoft Visual Studio 8\\VC\\include; C:\\Program Files\\Microsoft Visual Studio 8\\VC\\atlmfc\\include; C:\\Program Files\\Microsoft Visual Studio 8\\VC\\PlatformSDK\\include; C:\\Program Files\\Microsoft Visual Studio 8\\SDK\\v2.0\\include;
Library Includes: C:\\Program Files\\Microsoft Visual Studio 8\\VC\\atlmfc\\src\\mfc; C:\\Program Files\\Microsoft Visual Studio 8\\VC\\atlmfc\\src\\mfcm; C:\\Program Files\\Microsoft Visual Studio 8\\VC\\atlmfc\\src\\atl; C:\\Program Files\\Microsoft Visual Studio 8\\VC\\crt\\src;
Other Includes:
|
|
|
feline
Whole Tomato Software
United Kingdom
19014 Posts |
Posted - Mar 09 2006 : 5:25:35 PM
|
i am seeing the same thing in VS2003
case=1026
this does beg the question, what are IDL files? i have never used one before, despite doing most of my work in C++. using the Qt framework keeps me slightly distant from some windows specific features. |
zen is the art of being at one with the two'ness |
|
|
studoot
Senior Member
35 Posts |
Posted - Mar 09 2006 : 6:26:51 PM
|
IDL = Interface Definition Language
It's used to define interfaces (types, functions) in COM, RPC and (I think) CORBA. We use it to define a set of procedure calls that can be made between processes (on the same machine, but IP is a valid transport layer), and the MIDL compiler generates stubs for client and server end-points that handle all of the tricky stuff like packing parameters into a suitable format, allocating and deallocating return value buffers.
I first came across it on SunOS (before it became Solaris), so it's not a Windows only thing. |
|
|
jpizzi
Tomato Guru
USA
642 Posts |
Posted - Mar 09 2006 : 11:53:42 PM
|
IDL does apply to CORBA, but it is a different IDL. Go figure. |
Joe Pizzi |
|
|
feline
Whole Tomato Software
United Kingdom
19014 Posts |
Posted - Mar 10 2006 : 3:13:32 PM
|
interesting. does this mean that you are using standard C++ syntax to define the interfaces then? i am guessing you are, but obviously VA is not fully aware of these files, since suggestions should not appear spontaneously in comments. |
zen is the art of being at one with the two'ness |
|
|
studoot
Senior Member
35 Posts |
Posted - Mar 13 2006 : 01:58:38 AM
|
The syntax is close to C++ syntax. The comment syntax is the same.
Here's a sample of the file I've noticed the issue with:
import "oaidl.idl"; import "ocidl.idl";
typedef const char* CONST_STRING; typedef char* STRING; typedef hyper TickType; [ uuid(7AE9AB13-1942-417b-8DA7-B3FEE663E608), version(1.0), pointer_default(unique) ] interface ITask { enum { DidTaskInput = 1, DidTaskProcessing = 2, DidTaskOutput = 4 }; // Initialise the destination task int Initialise([in] handle_t hBinding, [in] DWORD dwValue ); // // Tell the remote task to shutdown - the RPC link is assumed to be // unavailable after this call. void Shutdown([in] handle_t hBinding); // // Perform an iteration of the destination task int Iterate([in] handle_t hBinding, [in,out] TickType* nextExecTime, [out] int* execFlags); }
|
|
|
|
Topic |
|