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

Unable to create directory

edited November 2009 in General
I suppose this isn't going to be enough information to point me in a
productive direction, but here goes anyway. I'm freshly upgraded to D2010
and RB 11.06 and most of my reports throw an access violation when I try to
run them. In debug mode, I get EInOutError with message 'Unable to create
directory' before it goes on to the AV. Some reports, which are using a
different report object, work, and some other reports using yet another
report object throw the same AV. I've tried my best to make the non-working
report object look like the working one, but so far I haven't managed to get
rid of the pesky problem. Any ideas? I keep my reports in an rbItem table,
if that info is of any help.

Comments

  • edited November 2009
    Have not heard of this before. Try adding RBuilder\Source to your Delphi
    library path and run using the debugger to break on exceptions. When the
    exception occurs, examine the debugger call stack.

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

    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited November 2009
    Ooh, good idea. But I get errors when I compile. In ppPrintr at lines 4463
    and 4503: E2010 Incompatible types: 'TppEscapeDataRec' and 'AnsiChar'.

  • edited November 2009

    We don't have any errors compiling the source code here. Perhaps you hae a
    compiler option turned on that does not like that code.



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

    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited November 2009
    After learning more about compiler options than I really wanted to know (and
    with some surprises about which ones should be on and off), the 'Unable to
    create directory' message is coming from line 526 of ppIniStorage:
    TMemIniFile(CustomIniFile).Updatefile;

  • edited November 2009

    You can use the TppDesigner.IniStorageName to control the location of
    RBuilder.ini. If you place a new TppDesigner component on a form you will
    see the new default location is ($LocalAppData)\RBuilder\RBuilder.ini, which
    is Vista/Windows 7 security friendly.

    I recommend modifying your existing projects to use the new default
    location.

    There is also a new storage option for TppDesigner.IniStorageType called
    'IniNone'. You can use that if you do not want RB to save/load any
    preferences.

    As for the compiler options, I use the Delphi default compiler options and
    do not have any issues compiling against the RB source code.



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

    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited November 2009
    I'm not using a Designer object, just a report and a few DBpipelines. Is
    there somewhere else I can set IniStorageType to iniNone?

  • edited November 2009
    Aha! I knew this was sounding familiar! I had an old
    TppIniStoragePlugin.SetStorageName in my code from before. I took it out and
    life is beautiful! Thanks so much for your help!

This discussion has been closed.