Home General
New Blog Posts: Merging Reports - Part 1 and Part 2

Error "cannot release theme Whidbey" after upgrading to RB11.01

edited November 2008 in General
Hello,

I'm using:
WindowsXP (SP3)
D7 (SP1)
RBPro11.01

After updating RB from 10.09 to 11.01 I have trouble with an existing
Application.
When I run it in the IDE I receive a AV (reading from Adress 0),
then I step over the AV that leads to the next Error: a Debugger-Exception
"Cannot release theme Whidbey"
then I step over the Error that leads to runtime error 217.

When I run the App outside the IDE it works fine.

Any Ideas?

--
Wolfgang Bierl

Comments

  • edited November 2008

    Have not heard of this before.

    Use the debugger to check the call stack when the first AV occurs. The error
    might be in Delphi code, your code, or anywhere.

    I do not think the second error, "Cannot release theme Whidbey" is related
    to the first because that code will fire in the Finalization section of a
    unit. My guess is that when you hit the first AV, the application is trying
    to shut down by firing the finalization of each unit.

    You might have a corrupt installation. Try following these steps..

    http://www.digital-metaphors.com/rbWiki/General/Installation/Cleaning_Up_a_Corrupt_Install



    --
    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com

    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited November 2008
    Hello,

    thank you for the quick response!

    Same problem after uninstalling and reinstalling of ReportBuilder.

    You are right, the first error (AV) occours in "InitUnits",
    exactly in TppIniStoragePlugIn.CreateInstance (call dword ptr [eax]).

    The second error occours while trying to shut down.

    What can I do?

    Regards

    Wolfgang Bierl
  • edited November 2008

    This is not a known issue, nor can we reproduce it here.

    Make sure you go thru all steps of the corrupt install cleanup. You may have
    an older version ppIniStorage.dcu or .pas on your system somewhere.

    You can also try tracing the code in TppIniStoragePlugIn.CreateInstance to
    see what happens.

    If your Delphi project includes a TppDesigner, then check the
    IniStorageName, IniStorageType values.

    Try creating a new project that demonstrates the error. Then zip it up and
    send to support@digital-metaphors.com and we can check it out here. Please
    use standard Delphi components and RB.


    --
    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com

    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited November 2008
    > Make sure you go thru all steps of the corrupt install cleanup.
    Done.

    No.

    Yes,
    StorageName = ($WINSYS)\RBuilder.ini
    InoStorage = IniFile

    I have two large projects in my focus. They are related to each other in the
    way that they share the same DB and many Forms.
    One of them works well (has the problem much vewer) and the other one makes
    the known trouble (AV almost every run).
    I got it to work if I delete all dcu-files then rebuild it.
    When I change something or add a new form and simply run it without deleting
    the dcus it crashes (as said before: only in the IDE).

    I set checkpoints in the ppIniStorage, and it seems that the initialization
    section is skipped sometimes.

    here are the Checkpoints:

    class function TppIniStoragePlugIn.CreateInstance: TppIniStorage;
    begin
    Result := FStorageClass.Create(FStorageName); //Checkpoint, when
    FStorageName = '' the AV occours.

    end; {class procedure, CreateInstance}
    ...
    initialization

    FPlugIns := TList.Create;
    FStorageClass := TppIniFile;
    FStorageName := TppFilePathVariables.LocalAppdata +
    cRBuilderIniPathAndFile; //Checkpoint does not get visited when the crash
    occours

    //that's why
    FStorageName = ''
    ...


    background-info:
    The two projects were startet with RB5 migrated to RB7, recently to RB10 and
    now to RB11.02
    It worked perfect with RB7 (on Win2k) till the project was portet to WinXP
    (there were no changes of the reports during that time).
    I migrated to RB10 because some reports did not print on a EPSON DFX5000+
    from XP (same app worked fine on Win2k) and RB10 helped.
    I used RBAddon and PsExportDevices which I can't use (RBAddon) /don't need
    (ExportDevices) anymore with RB10.
    I migrated to RB11 because I needed the SQL Having clause support in
    SQLBuilder for end user-support and the SystemVariable AutoSearchDesc.
    Since RB11.02 I have this AV- trouble and I have the problem 'not printing
    on a DFX5000+ from XP' again.

    ...

    Regards
    --
    Wolfgang Bierl
  • edited November 2008

    1. There are many units that have Initialization sections. The Delphi
    Application object calls the Unit Initializations at startup. If Unit A has
    Initialization code that encounters an error, then an exception can occur -
    this will prevent the Initialization code in Units B, C, D, etc from being
    called. That is likely the reason the Initialization section in a
    ppIniStorage.pas is not being called.

    Instead the Unit Finalizations will begin to be called and this is where you
    see the error 'cannot release theme Whidbey'. In other words, you have a
    chain reaction - an error in one place leads to more errors.


    initialization

    FPlugIns := TList.Create;
    FStorageClass := TppIniFile;
    FStorageName := TppFilePathVariables.LocalAppdata +
    cRBuilderIniPathAndFile; //Checkpoint not visited when crash occurs

    2. Try creating a new project that demonstrates the error. Then zip it up
    and
    send to support@digital-metaphors.com and we can check it out here. Please
    use standard Delphi components and RB.

    It is probably difficult to recreate because the Unit Initialization
    sequence is determine by the ordering of the units listed in the 'uses'
    clause of each unit.



    --
    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com

    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
This discussion has been closed.