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.