newLISP Fan Club

Forum => newLISP newS => Topic started by: ale870 on January 05, 2009, 03:52:01 AM

Title: Trap errors during function call
Post by: ale870 on January 05, 2009, 03:52:01 AM
Hello,

I mapped some functions made in PureBasic (using tecnique proposed by Lutz):


(set 'MyFunction dummy1)
(cpymem (pack {ld} 265) (first (dump MyFunction)) 4)
(cpymem (pack {ld} @MyAddress) (+ (first (dump MyFunction)) 12) 4)
(cpymem (pack {ld} {MyFunction}) (+ (first (dump MyFunction)) 8)  4)


Now the problem is as soon as I call that mapped function from newLisp self, and I make a mistake in parameters datatype (e.g. I use a number instead a string) I get amemory access violation, and everything crash.

Is there any way to "grab" that memory violation error from newLisp self?



Thank you!
Title:
Post by: Lutz on January 05, 2009, 06:53:08 AM
QuoteIs there any way to "grab" that memory violation error from newLisp self?


Once you have stepped on wrong memory its too late. You have to check your parameters before passing them to low level machine routines.
Title:
Post by: ale870 on January 05, 2009, 06:54:08 AM
ok, I see.

Thank you for your help!