BYTEINSIGHT
GAPVelocity AI Studio helps you move from outdated tech stacks to the latest desktop, web, and cloud platforms—smarter, faster, and with less risk.
Choose a platform to see migration options:
Our comprehensive approach to application modernization, from assessment to production deployment.
Transformation Services
Not Sure Where to Start?
The VB6 AI Migrator is able to add marshalling information to the structures used in WIN-API calls. These extra attributes allows the resulting .NET code to keep coherency with most of the legacy behavior found on the unmanaged code of the WIN API dlls.
Type Private Type ACTYLG_TYPE lFirstField As Long ' <Force proper alignment> lIDN As Long ' INTEGER NOT NULL sCNCRCY_USER_IDN As String * 8 ' CHAR (8) NOT NULL sTABLE_ALIAS_NAME As String * 6 ' CHAR (6) NOT NULL iTABLE_UNQ_IDN_NI As Integer ' <Null Indicator> lTABLE_UNQ_IDN As Long ' INTEGER iTABLE_UNQ_SEQ_NUM_NI As Integer ' <Null Indicator> iTABLE_UNQ_SEQ_NUM As Integer ' SMALLINT End Type
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] private struct ACTYLG_TYPE { public int lFirstField; // <Force proper alignment> public int lIDN; // INTEGER NOT NULL [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] private char[] _sCNCRCY_USER_IDN; // CHAR (8) NOT NULL [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)] private char[] _sTABLE_ALIAS_NAME; // CHAR (6) NOT NULL public short iTABLE_UNQ_IDN_NI; // <Null Indicator> public int lTABLE_UNQ_IDN; // INTEGER public short iTABLE_UNQ_SEQ_NUM_NI; // <Null Indicator> public short iTABLE_UNQ_SEQ_NUM; // SMALLINT public string sCNCRCY_USER_IDN { set { Utils.CopyValToArray(value, _sCNCRCY_USER_IDN, 8); } get { return new String(_sCNCRCY_USER_IDN); } } public string sTABLE_ALIAS_NAME { set { Utils.CopyValToArray(value, _sTABLE_ALIAS_NAME, 6); } get { return new String(_sTABLE_ALIAS_NAME); } } public static ACTYLG_TYPE CreateInstance() { ACTYLG_TYPE result = new ACTYLG_TYPE(); result._sCNCRCY_USER_IDN = new char[8]; result._sTABLE_ALIAS_NAME = new char[6]; return result; } }