This dialog box comes up during reading Dll header file for Dll function prototypes (as a part of Inserting Dll library) or importing Dll function prototypes (after a Dll inserted). Whenever ATEasy encounters an ambiguous or unknown C Type, this dialog will be used to resolve the data type of a parameter or a function return type. See Notes for more information.

Ambiguous C Type

This static text shows the ambiguous C type encountered during reading C Dll Header file.

Context of Ambiguous C Type

This static text shows the context in which the ambiguous type found - usually a struct define or function defines.

Header file Name

Header file.

Line Number

Line number at which the 'ambiguous type' definition sound.

View Header File

This button will open up a view of the Header file at the line number.

Select a Type desired

This list box will contain all possible types and allows the user to select one desired.

Enter a Type

If any of possible types suggested above in the list box is not desired, the user can enter a type.

Replace Same Name and Type

Check this if you want to replace types of symbols of same name and type with the type you already selected here automatically.

Replace Same Name

Check this if you want to replace types of symbols of same name you already selected here automatically.

Do not Ask - let ATEasy decide

Check this check box to indicate that the user wants ATEasy to decide desired types - do not put up this dialog for any ambiguous types any more.

Replace

After select or entered a desired type, click this button, ATEasy will replace the type.

Cancel

By clicking Cancel button, the user can cancel the whole progress of reading header file.

Notes:

  1. The Import C Header File dialog is not intended to 100% precise and cannot be that way since the C data types are not defined that way for example 'Short *' parameter type (pointer to a short) can be in ATEasy 'Var Int', 'Var Int[]' or 'Val Int[]'. Microsoft came up with ActiveX/COM type libraries and .Net assemblies to avoid this and provide a precise description of data types.

  2. Make sure the header file contains legal C statements.

  3. The import will not work properly when attempting to import C++ statements (i.e. classes etc). There is no standard way of exporting C++ classes from a DLL.

  4. ATEasy provides the Ambiguous C Data Type dialog to help finding the C data type that best match ATEasy data type.

  5. You should always check the imported definitions (functions, parameters and data types) by comparing it to the header file content and correct them manually (using the Variable Properties)  after Import is complete. This will help you avoid memory exceptions, stack corruption and other problems when using the DLL.