It could be the same problem I ran into some time back.  The SwigSword code
destroys some pointers then tries to use them again.  Under .Net 1.0 it
wasn't a problem because the error was ignored.  Under .Net 2.0 it raises an
error and crashes the calling application.  In my case it was MS Word since
I was working on an Add-In but it would probably crash anything calling the
dll.

I'm hoping that Swig has fixed the .Net 2.0 pointer issue.  If that's the
case then the easiest approach might be to regenerate the wrapper.  I'm
guessing that the problem isn't in just one property or method since the
code relatively consistent throughout.
  -----Original Message-----
  From: Wade Balzer [mailto:[email protected]]
  Sent: Friday, July 31, 2009 11:42 AM
  To: [email protected]
  Subject: [sword-devel] .Net Exception Odd behavior...


  I am working on a Bible project in C# for the web.  I am using the
SwigSword.dll wrapper.



  When I load the manager using the default location for the modules as
provided by the SWORD_PATH environment, it words fine and the debugger exits
without a problem.



  filterManager = new MarkupFilterMgr((char)Sword.FMT_OSIS,
(char)Sword.ENC_HTML);

  manager = new SWMgr( filterManager);



  GC.SuppressFinalize(filterManager);



  However since this will be a web environment, I need to directly point to
the Module locations without directly pointing to my local %SWORD_PATH%
variable.



  When I set the location of the config, and manually set the location of
the module path, everything seems to work fine until I exit the debugger.
It CRASHES.



  SWConfig config = new SWConfig(BaseModDir + "mods.d\\global.conf");

  SWConfig sysconfig = null;



  filterManager = new MarkupFilterMgr((char)Sword.FMT_OSIS,
(char)Sword.ENC_HTML);

  //manager = new SWMgr( filterManager);

  manager = new SWMgr(config, sysconfig, false, filterManager);

  manager.configPath = BaseModDir + "mods.d\\";

  manager.prefixPath = BaseModDir;

  manager.Load();



  manager.augmentModules(BaseModDir);



  GC.SuppressFinalize(filterManager);



  I am not sure why the first one works without a problem, and the second
one works, but crashes on exit.



  HELP!!!



  Thanks,



  Wade




_______________________________________________
sword-devel mailing list: [email protected]
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page

Reply via email to