Representation of forms and global objects in comparisons

FormSync generates a text file for each of the two objects in a comparison. The text is a code-like representation of the object in which object names are combined with labels in the WinStudio user interface and form-definition parameters.

This graphic shows the relation of edit-mode controls to the representation of an event handler named ProductCodeChg.

representationofobject

Text files serve only to represent object definitions. Definitions in a forms database cannot be changed by editing the text representations.

Examples of object definitions

String named f1099FormPrintingReport with the value "1099 Form Printing Report":
String f1099FormPrintingReport()
{
      Value = 1099 Form Printing Report
}
Global script named AppmtCheckNum:
Script AppmtCheckNum()
{
      Sub Main()
          If ThisForm.GenerateEvent("ValidateCheck") <> 0 Then
              Application.ReturnValue = -1
              Exit Sub
          End If
          
          If ThisForm.Components("ReapplicationEdit") = "1" Then
              If ThisForm.GenerateEvent("ValidateOpenPayment") <> 0 Then
                  Application.ReturnValue = -1
                  Exit Sub
              End If
          
              If ThisForm.GenerateEvent("GetBankCode") <> 0 Then
                  Application.ReturnValue = -1
                  Exit Sub
              End If
          End If
      End Sub
}
Validator named AbcCode:
Validator AbcCode()
{
   Description = 
   Type = Run Script
   SpecificParameters {
      .Name = AbcCodeValid
      .Parameters =1
   }
   ErrorMsg = mAbcCodeMustBeABC
}
Form named ExceptionMessagePriorities. This representation is abridged, with some components, event handlers, and other objects deleted. Deletions are indicated with [...].
Form ExceptionMessagePriorities()
{
   Caption = fExceptionMessagePriority
   Collections()
   {
      SL.SLMrpExcs()
      {
         Type = Primary
         StandardOperations = ( Navigate, Filter, Save, Notes, Refresh, Graph )
         SelectionOptions {
            .Distinct = false
            .OrderBy = Priority
         }
      }
   }
   Splitter {
      .Position = None
      Pane0 {
         .NoVerticalScrollBar = true
         .NoHorizontalScrollBar = true
      }
      Pane1 {
         .NoVerticalScrollBar = false
         .NoHorizontalScrollBar = false
      }
   }
[...]
   Dimensions {
      .Height = 15.2
      .Width = 65
   }
   Advanced {
      .NoCloseBox = false
      .NoMinimizeMaximize = false
   }
   PersistentVariables()
   {
      fds_DataSource = SL.SLMrpExcs( OBJNAME(oExceptionMessagePriorities) ORDERBY(Priority) )
   
      InitialCommand = Refresh
   
   }
   Components()
   {
      ExcMessageGridCol()
      {
         Type = Column
         ReadOnlyDisable = true
         Help {
            .ContextID = 101860020
         }
         DataSource = object.derExcMessageValue
         Dimensions {
            .Top = 0
            .Left = 14
            .Height = 14.1
            .Width = 28
         }
         Justification = Default
         Right-ClickMenu = StdDefault
         ContainerSpecification {
            .Container = FormCollectionGrid
            .Sequence = 1
         }
      }
      FormCollectionGrid()
      {
         Type = Grid
         Help {
            .ContextID = 0
         }
         DataSource = objects
         Dimensions {
            .Top = 0
            .Left = 0
            .Height = 14.1
            .Width = 47
         }
         Justification = Default
         GlueToContainer {
            .GlueBottom = true
            .GlueRight = true
         }
         ContainerSpecification {
            .Sequence = 0
         }
         ContainedComponents = ( ExcMessageGridCol, PriorityGridCol,  )
         ListHeight = 2
         GridRowButtonHeight = 2
      }
[...]      
      GotoActivitiesFolderToolbarButton()
      {
         Type = ToolbarButton
         Caption = sGoToActivitiesFolder
         Help {
            .ContextID = 900043810
         }
         Dimensions {
            .Top = 0
            .Left = 0
            .Height = 0
            .Width = 0
         }
         ImageFileName = GoToActivities.bmp
         Justification = Default
         EventsToGenerate {
            .Primary = GoToActivitiesFolder
         }
         ContainerSpecification {
            .Sequence = 0
         }
      }
      GotoFilesFolderToolbarButton()
      {
         Type = ToolbarButton
         Caption = sGoToFilesFolder
         Help {
            .ContextID = 900043820
         }
         Dimensions {
            .Top = 0
            .Left = 0
            .Height = 0
            .Width = 0
         }
         ImageFileName = GoToFiles.bmp
         Justification = Default
         EventsToGenerate {
            .Primary = GoToFilesFolder
         }
         ContainerSpecification {
            .Sequence = 0
         }
      }      
[...]   
   EventHandlers()
   {
      GoToActivitiesFolder()
      {
         Sequence = 0
         Response {
            .Type = Goto Explorer Folder
            SpecificParameters {
               .Folder = xMaterial/xPlanning/xActivities
               .RootFolder = MASTER
            }
         }
      }
      GoToFilesFolder()
      {
         Sequence = 0
         Response {
            .Type = Goto Explorer Folder
            SpecificParameters {
               .Folder = xMaterial/xPlanning/xFiles
               .RootFolder = MASTER
            }
         }
      }      
   }
   VBA()
   {
   }
}

Location of files

Generated files are deleted by default when you close a file-comparison utility. You can save the files by selecting Preserve generated files on the Utilities Compare tab before you compare them. Saved files are in the client's operating system Temp folder, for example:

C:Documents and Settings<user name>Local SettingsTemp

File names are formed in this way:

<forms database name>_<object type>_<scope type>_<object name>_<user or group name>_.m

All files have the extension .m.