[sword-devel] .Net Exception Odd behavior...

Jeff Becker jbecker at fiveviews.com
Fri Aug 21 09:11:20 MST 2009


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:wbalzer at newjerusalem.org]
  Sent: Friday, July 31, 2009 11:42 AM
  To: sword-devel at crosswire.org
  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




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.crosswire.org/pipermail/sword-devel/attachments/20090821/30ef0d07/attachment-0001.html>


More information about the sword-devel mailing list