The FileNameBuffer class uses the internal reportException() function to raise out of memory errors. This function will only work from normal interpreter code. If things are running in an external native function or method, there are FileNameBuffer subclasses (RoutineFileNameBuffer and MethodFileNameBuffer) required a current context for the constructor. These subclasses use the new ThrowException APIs to raise the error so they will work from the external ones.
There's also one more subclass that's used in a couple of gray areas. There are a few pieces off code that need to use a FileNameBuffer, but can be called by either internal or external code. For that case, There is an AutoFileNameBuffer class. The constructors for this class require another FileNameBuffer (or subclass) instance. If an out of memory condition occurs, it will used the provided buffer object to raise the error conditions. Rick On Sun, Mar 3, 2019 at 1:43 PM Erich Steinböck <erich.steinbo...@gmail.com> wrote: > The FileNameBuffer class says "This can only be used within code that runs > while the interpreter has control." > > Under which circumstances / in which part of our code base is using > FileNameBuffer prohibited? > _______________________________________________ > Oorexx-devel mailing list > Oorexx-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/oorexx-devel >
_______________________________________________ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel