GetErrorInfo Method - intrepidcs API
C/C++ declare - VB declare - VB.NET declare - C# declare - Parameters - Return Value - Remarks - C/C++ example - VB example - VB.NET example - C# example

This method returns a text description of an intrepidcs API error number.

C/C++ Declare

int _stdcall icsneoGetErrorInfo(int lErrorNumber
           
TCHAR *szErrorDescriptionShort,
 
            TCHAR
  *szErrorDescriptionLong,
            int *lMaxLengthShort,
           
int *lMaxLengthLong,
            int *lErrorSeverity,
            int *lRestartNeeded
);

Visual Basic .NET Declare

Public
Declare Function icsneoGetErrorInfo Lib "icsneo40.dll" _
            (
ByVal lErrorNumber As Int32, _
           
ByVal sErrorDescriptionShort As String, _
           
ByVal sErrorDescriptionLong As String, _
           
ByRef lMaxLengthShort As Int32, _
           
ByRef lMaxLengthLong As Int32, _
           
ByRef lErrorSeverity As Int32, _
           
ByRef lRestartNeeded As Int32) As
Int32


C# Declare

[DllImport("icsneo40.dll")]
public static extern int icsneoGetErrorInfo(int iErrorNumber,
            StringBuilder sErrorDescriptionShort,
            StringBuilder sErrorDescriptionLong,

            ref
int iMaxLengthShort,
            ref
int iMaxLengthLong,
            ref
int lErrorSeverity ,
            ref
int
lRestartNeeded);


Parameters

lErrorNumber
    [in] This is the number of the error message returned from GetErrorMessages. A separate topic describes the possible values for error messages.

sErrorDescriptionShort
    [out] This is short description of the error. This parameter should be sized to include up to 255 characters including the NULL terminator.

sErrorDescriptionLong
    [out] This is longer more detailed description of the error. This parameter should be sized to include up to 255 characters including the NULL terminator.

lMaxLengthShort
    [in] This is the size in characters of the sErrorDescriptionShort array that is being passed in. This value must be 255 or less.

lMaxLengthLong
    [in] This is the size in characters of the sErrorDescriptionLong array that is being passed in. This value must be 255 or less.

lErrorSeverity
    [out] This indicates the error severity. This is estimated severity for the application and doesn't have significant meaning. See Table 1 below for more information.

lRestartNeeded
    [out] If 1 it is recommend that the application close communications with the DLL and reopen it.

Return Values

If the error number was found successfully the return value will be non-zero.

Remarks

None.

Table 1 - Descriptions of Error Severity

Error Severity Description
const unsigned long icsspyErrCritical=0x10; A critical error which affects operation or accuracy
const unsigned long icsspyErrExclamation=0x30; An important error which may be critical depending on the application.
const unsigned long icsspyErrInformation=0x40; An error which probably does not need attention.
const unsigned long icsspyErrQuestion=0x20; An error which is not understood.

 


Examples

  
C/C++ Example

// Read the errors from the DLL
lResult = icsneoGetErrorMessages(hObject,iErrors,&lNumberOfErrors);

if (lResult == 0)
   
MessageBox(hWnd,TEXT("Problem Reading errors"),TEXT("neoVI Example"),0);

// dump the neoVI errors
if (lNumberOfErrors > 0)
{   
 
    for (lCount=0;lCount <lNumberOfErrors;lCount++)
    {

        wsprintf(szOut,TEXT("Error %d - "),iErrors[lCount]);
   
         OutputDebugString(szOut);
   
         icsneoGetErrorInfo(iErrors[lCount],szDescriptionShort,szDescriptionLong,
   
                     &lMaxLengthShort,&lMaxLengthLong,&lErrorSeverity,&lRestartNeeded);

        OutputDebugString(szDescriptionShort);
        OutputDebugString(TEXT("\n"));
    }
}
else
   
OutputDebugString(TEXT("No Errors to report\n"));
 

Visual Basic .NET Example


Public Function icsneoGetDLLErrorInfo(ByVal lErrorNum As Int32, ByRef sErrorShort As String, ByRef sErrorLong As String, ByRef lSeverity As Int32, ByRef bRestart As Int32) As Boolean

Dim
lErrorLongLength As Int32
Dim lErrorShortLength As Int32
Dim lRestart As Int32
Dim lResult As Int32

    sErrorLong =
New String(Chr(0), 255)
    sErrorShort =
New String
(Chr(0), 255)
    lErrorLongLength = 255
    lErrorShortLength = 255
    lResult = icsneoGetErrorInfo(lErrorNum, sErrorShort, sErrorLong, lErrorShortLength, lErrorLongLength, lSeverity, lRestart)

    sErrorShort = Left(sErrorShort, lErrorShortLength)
    sErrorLong = Left(sErrorLong, lErrorLongLength)
    bRestart =
CBool(lRestart)
    icsneoGetDLLErrorInfo =
CBool(lResult)
End Function


This function reads errors and loads them into a list box

Private Sub cmdGetErrors_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdGetErrors.Click

Dim
lResult As Integer '//Storage for result of Function Call
Dim
lErrors(600) As Int32 '//Array for Error information
Dim
lNumberOfErrors As Integer '//Storage for Number of Errors
Dim
lCount As Integer '//Counter
Dim
sErrorShort As String '//String Holding Short Error Name
Dim
sErrorLong As String '//String Holding Long Error Name
Dim
iSeverity As Int32 '//Storage for Level of error
Dim
bRestart As Int32 '//flag for if Restart is required

    '// Read Out the errors

    lResult = icsneoGetErrorMessages(m_hObject, lErrors(0), lNumberOfErrors)
    '// Test the returned result

    If
Not CBool(lResult) Then
        MsgBox("Problem Reading Errors")
    Else

        '//List Error information

        lstErrorHolder.Items.Clear()
        For
lCount = 1 To lNumberOfErrors
            Call
icsneoGetDLLErrorInfo(lErrors(lCount - 1), sErrorShort, sErrorLong, iSeverity, bRestart)
            lstErrorHolder.Items.Add(sErrorShort + " - Description" + _
                    sErrorLong + " - Errornum: " + Convert.ToString(lErrors(lCount - 1)))
        Next
lCount
    End
If
End
Sub


C# Example

private void cmdGetErrors_Click(object sender, System.EventArgs e)
{
    int iResult = 0; //Storage for Result of Call
   
int[] iErrors = new int[600]; //Array for Error Numbers
   
int iNumberOfErrors = 0; // Storage for number of errors
   
int iCount= 0; //Counter
   
int iSeverity =0; //tells the Severity of Error
   
int iMaxLengthShort = 0; //Tells Max length of Error String
   
int iMaxLengthLong = 0; //Tells Max Length of Error String
   
int lRestart = 0; //tells if a restart is needed
    StringBuilder sErrorShort =
new StringBuilder(256); //String for Error
    StringBuilder sErrorLong =
new StringBuilder(256); //String for Error
    iMaxLengthShort = 1;
//Set initial conditions
    iMaxLengthLong = 1;
//Set initial conditions
    // Read Out the errors

    iResult = icsNeoDll.icsneoGetErrorMessages(m_hObject,
ref iErrors[0],ref iNumberOfErrors);
   
// Test the returned result
    if(iResult == 0)
    {
        MessageBox.Show ("Problem Reading Errors");
    }
   
else
    {
       
if(iNumberOfErrors != 0)
        {
           
for(iCount=0;iCount< iNumberOfErrors;iCount++)
            {
               
//Get Text Description of the Error
                iResult = icsNeoDll.icsneoGetErrorInfo(iErrors[iCount],
                    sErrorShort, sErrorLong ,
ref iMaxLengthShort , ref iMaxLengthLong, ref iSeverity,ref
lRestart);
                lstErrorHolder.Items.Add (sErrorShort + " - Description " + sErrorLong + " - Errornum: " + iErrors[iCount]);
            }
        }
    }
}

 

IntrepidCS API Documentation - (C) Copyright 2000-2022 Intrepid Control Systems, Inc.  (www.intrepidcs.com)

Last Updated : Monday, November 09, 2020