yanweiyuan3
2023-08-09 588bc7829387dfc761cc25f06f77d4c81818bd10
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Quintiq file version 2.0
#parent: ValueHolderLastSelected3DDriveDirectory
Response OnValueChanged () id:Response_ApplicationLibMacroPlanner_ValueHolderLastSelected3DDriveDirectory_OnValueChanged
{
  #keys: '[108684.0.1786085871]'
  Body:
  [*
    // Set value on client start
    lastUsedPath := this.Value();
    
    if( isnull( DataHolderLastSelected3DDriveDirectory.Data() ) and lastUsedPath <> '' )
    {
      directory := null( FileItem, owning );
      
      // Need to validate that the directory still exists, otherwise will throw an error
      try
      {
        provider := FileProvider::CreateFromURL( lastUsedPath );
        directory := provider.CreateFileItemFromURL( lastUsedPath );
      }
      onerror
      {
        // Set directory to null and reset to Root
        DataHolderLastSelected3DDriveDirectory.ClearData();
      }
    
      if( not isnull( directory ) )
      {
        DataHolderLastSelected3DDriveDirectory.Data( &directory );
      }
    }
  *]
  CanBindMultiple: false
  DefinitionID: 'Responsedef_ValueHolder_OnValueChanged'
}