Failure to load project in FB 8.0.0.1221 due to StringPos action persistence

I created a small utility FB8 project and when reloading the next day it failed. The issue was with the line marked below:

          action.string.pos
          begin
            actiontypeid = {163622B4-B7EE-4045-B1AA-B97DF9DB0BE0}
            customactionname = “String Pos”
            enabletimeout = false
            id = {CADA547F-C160-44D0-8C82-2C3B54FB92AA}
            impersonateusenetcredonly = false
            impersonateuser = false
            terminateontimeout = true
            timeoutlength = 2
            as.inputvariable = ListItem
            as.usinginputvariable = True
            as.outputvariable = SepPos
            as.firstindexof = True
            as.searchstring = =    <<<<<<<< This caused the failure due to no quotes
            as.startindex = 0
            as.failifnotfound = True
            as.casesensitive = True
            as.autodescription = “Find first position of ‘=’ in the variable ‘%ListItem%’”
          end

A quick edit to add quotes and it was loading again.

Just found another example of a non quoted string, this time in an ini read action:

          action.ini.read
          begin
            defaultvalue = >     <<<<  Needs quotes
            description = “Read registry import suffix”
            expandvariablesinvalue = false
            id = {D63F5D22-0FEE-4A9A-9003-864934DE7A79}
            inifile = %MO_IniFile%

and another example, this time in comment actions:

      action.comment
      begin
        actiontextcolor = 16711680
        description = ========  <<<< Here 
        id = {CA17E900-F9CC-4AC0-9EBA-4DA7C9604AEB}
      end

Ouch, looking into it.

Hi Simon

Thanks for reporting this, I was able to reproduce it. The problem is we should have been escaping =

This build has the fix :

http://downloads.finalbuilder.com/downloads/finalbuilder/800/FB800_1242.exe

As you have already discovered, you can fix your project file by putting quotes around the value (the parse then treats it as a quoted string which is fine), or you can escape the = using =

We’ll have an official update out early next week, but if you are able to test the above build and confirm you are able to save/load (after fixing) your projects that would be appreciated.

Thanks for the fast turnaround.

That fixes two of my example issues, but not the one with a “>”:

    action.ini.read
          begin
            defaultvalue = >     <<<<  Needs escaping
            description = “Read registry import suffix”
    
As with the equals sign this appears to affect anywhere its used in a string field or variable.

Hi Simon

Can’t believe I missed that one! I added some comments to the lexer code to remind myself (and the other devs) to ensure the escaping code is kept in sync.

This build will deal with the >
http://downloads.finalbuilder.com/downloads/finalbuilder/800/FB800_1244.exe

Hi Vincent,

Thanks - that fixed it. 

Regards,

Simon