- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This is really two questions.
1) NLSGetLocaleInfo -- I typically say not to use the Powerstation portability libraries -- but if I turn them off, I get an unsatisfied external for the NLSGetLocaleInfo.
2) I have a DLL that I would like to get working with IVF -- it has long been in CVF. It's called from a VB program.
It seems to work fine in "debug" mode but if I compile release, when it gets to call the DLL (I think), I'm getting an "out of stack space" error from the VB app. (Run time error 28).
I guess I can run the VB app from the IDE and try to figure out what is happening but it seems odd?
And, of course, would like to get question 1 answered.
1) NLSGetLocaleInfo -- I typically say not to use the Powerstation portability libraries -- but if I turn them off, I get an unsatisfied external for the NLSGetLocaleInfo.
2) I have a DLL that I would like to get working with IVF -- it has long been in CVF. It's called from a VB program.
It seems to work fine in "debug" mode but if I compile release, when it gets to call the DLL (I think), I'm getting an "out of stack space" error from the VB app. (Run time error 28).
I guess I can run the VB app from the IDE and try to figure out what is happening but it seems odd?
And, of course, would like to get question 1 answered.
Link Copied
4 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You need the portability library - it's sort of a misnomer nowadays to call it PowerStation compatibility. The NLS routines are in libifport.lib
For 2, you need to make sure that the DLL routines have the STDCALL calling convention. You may find that compiling with /iface:cvf (default if you convert a CVF project) is the easiest solution. Otherwise you are corrupting the stack.
For 2, you need to make sure that the DLL routines have the STDCALL calling convention. You may find that compiling with /iface:cvf (default if you convert a CVF project) is the easiest solution. Otherwise you are corrupting the stack.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Figured out 1. As you say...
2 -- what's weird(?) is that the debug version (even compiled with optimization and essentially the same size as the release version) works. the release still doesn't.
I'll try to see if somehow the debug version have /iface:cvf on.
2 -- what's weird(?) is that the debug version (even compiled with optimization and essentially the same size as the release version) works. the release still doesn't.
I'll try to see if somehow the debug version have /iface:cvf on.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2) you're right (of course -- why would we ever doubt you?). The debug version has /iface:cvf and the release didn't (I just made the release today -- thinking about making all these dlls be IVF).
At least it's explanable.
At least it's explanable.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
FYI, tried "std call" on this (iface/cvf works fine) and got ICE. This is just a baby project compared to my other one so will submit to premier support.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page