Very odd MBS problem

  1. 4 months ago

    Beatrix W

    Jan 7 Pre-Release Testers Europe (Germany)

    I want to update to the latest beta to check out a new function. This works fine on my MacBook Air. My iMac doesn't like the new version of MBS at all. Every one of my projects quits itself in the App.Open event.

    I restarted Xojo multiple times. Deleted the cache. I even restarted the iMac: no change.

    If I go back to the old version of the MBS plugin everything works fine.

    I can't even say what exactly makes the app quit itself. The best I can say is here:

    Globals.theErrorLog.LogItem "Version: " + str(kMAXVersion)
    
    'initialize the error report window
    ErrorReportManager.init(UpdateWindow)

    where the init method is:

    theWindow = hasWindow
    buf = new MemoryBlock(1024*1024)

    The log entry for "Version" is in the session log. If I add a log entry in the init method then this is not in the session log.

    Does anyone have an idea what might cause such a behaviour?

    Xojo 2018r3, High Sierra.

  2. Beatrix W

    Jan 7 Pre-Release Testers Europe (Germany)

    If I comment out the following method I get one of my smaller projects to load:

    Private Function getVersionInfo(theFolderitem as FolderItem) as String
      
      if theFolderitem = Nil or not theFolderitem.Exists then Return ""
      
      dim VersionInfo as String
      
      dim theBinStream as BinaryStream = BinaryStream.Open(theFolderitem, false)
      if theBinStream = nil then Return ""
      dim thePlist as String = theBinStream.Read(theBinStream.Length)
      dim theBinData as CFBinaryDataMBS = NewCFBinaryDataMBSStr(thePlist)
      if theBinData = nil then Return ""
      dim theObject as CFObjectMBS = NewCFObjectMBSFromXML(theBinData)
      if theObject = nil then Return ""
      dim theDictionary as CFDictionaryMBS = CFDictionaryMBS(theObject)
      if theDictionary = nil then Return ""
      theObject = theDictionary.Value(NewCFStringMBS("CFBundleVersion"))
      dim Versionnumber as String = CFStringMBS(theObject).Str
      dim VersionArray(-1) as String = Split(Versionnumber, ".")
      ReDim VersionArray(2)
      VersionInfo = Join(VersionArray, ".")
      VersionInfo = VersionInfo + " " + kFrom + " " + theFolderitem.CreationDate.AbbreviatedDate
      
      Return VersionInfo
      
      exception exc
        theException = new ErrorException(exc, currentMethodName)
    End Function
  3. Derk J

    Jan 7 Pre-Release Testers, Xojo Pro

    Do you set the license?

  4. Beatrix W

    Jan 7 Pre-Release Testers Europe (Germany)

    Yes, license is set.

    I forgot: the computer where MBS is working is on Mojave.

  5. Christian S

    Jan 7 Pre-Release Testers, Xojo Pro, XDC Speakers Germany

    Crash reports for me?
    Sample project?

  6. Beatrix W

    Jan 7 Pre-Release Testers Europe (Germany)

    No crash reports at all, not even something in the console. I'll send a sample project.

  7. Christian S

    Jan 7 Pre-Release Testers, Xojo Pro, XDC Speakers Germany

    Sorry, while adding NewCFObjectMBSFromXML with string/memoryblock, I accidentally broke NewCFObjectMBSFromXML taking CFBinaryDataMBS.

    Will be fixed in next prerelease.

    For the time being, use the new functions and leave away theBinData!

     dim theObject as CFObjectMBS = NewCFObjectMBSFromXML(thePlist)

or Sign Up to reply!