InstallShield 2019
To pass a string array between an object and an installation:
• | Add the following to the object script: |
• | A declaration of a read-write property whose data type is variant. For example: |
property(get,put) variant Test();
Place this declaration in the Properties Section block of the object script.
• | Declarations of the necessary variables, including a variable to store the property’s value within the object script: |
STRING arrayTest();
variant m_arrayTest;
Place these declarations in the Local Variables Section block of the object script.
• | Statements, in the InitProperties function block, that initialize the members of the variable that stores the property’s value. For example: |
m_arrayTest = arrayTest;
• | A function call, in the ReadProperties function block, to retrieve the value stored in the property bag object. For example: |
ReadArrayProperty(PropertyBag, "Test", m_arrayTest);
• | A function call, in the WriteProperties function block, to save the value to the property bag object. For example: |
WriteArrayProperty(PropertyBag, "Test", m_arrayTest);
function variant get_Test()
begin
return m_arrayTest;
end;
• | A function block defining the property’s put procedure—that is, defining the actions that are executed when the property’s value is written to by a project containing the object or by the object’s design-time wizard (if any). For example: |
function void put_Test(newVal)
begin
m_arrayTest = newVal;
end;
• | Add the following to the installation script: |
• | In each function block in which you will read a string array from or write it to the object, declarations of an object variable and a string array. For example: |
OBJECT oObject;
string szTest(3);
• | A call to GetObject to get a reference to the object. For example: |
set oObject = GetObject("Object");
if (!IsObject(oObject)) then
MessageBox( "Failed to get object reference.", INFORMATION );
abort;
endif;
• | To set the value of the object’s string array property, use code like the following: |
oObject.Test = szTest;
To retrieve the value of the object’s string array property, use code like the following:
szTest = oObject.Test;
InstallShield 2019 Help LibraryApril 2019 |
Copyright Information | Flexera |