Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Error Changing Libraries

Status
Not open for further replies.
Jul 3, 2000
20
US
My application (ver. 2.6a) requires particular libraries for use in different modules. Attempting clear a library with SET LIBRARY TO' or simply calling the new library 'SET LIBRARY TO FOXTOOLS' causes a windows error message to appear:

An error has occurred in your application.
If you chose Ignore, you should save your work in a new file.
If you choose Cancel, your application will terminate.
<CLOSE> <IGNORE>

Choosing <IGNORE> allows the program to continue as normal.

Any idea how to get rid of the error prompt?
 
You really should'nt try to close an open library but add a new library with the ADDITIVE clause, however to remove an individual Library use the RELEASE LIBRARY <libname> command

Bob Palmer
The most common solution is H2O!
 
What is the Library you are using that is causing this problem?

A poorly constructed FLL can cause a many a crash!

When you close a Library some code in the FLL is referenced. You sometimes can have some "Call On Unload" functions. So when the FLL is closed the function is ran.

If you can give someone a copy of the FLL and see if they get the same thing.

If you can open and close other FLLs with no problems, but only with this FLL I would suspect the FLL. Then the only solution is contacting the creator of the FLL to let them know they have a bug.


B"H
Brak
 
I'm using a third party program, DBFTrieve, integrated within my application. Everything will work fine for a while and then for some undeterminable reason that message will appear. I was unable to recreate any specific conditions that cause failure but when I did get that first problem, it remains until the machine is restarted. I have been able to determine that it has to do with a close() function within the library ... as you suspected.

These errors occur on the user machines as well.

So I figured if I could simply close the library when it is not specifically in use I would preclude those windows errors. Unfortunately when I call the vendor for support, a voice message says to try back another time.

Any further direction would be appreciated.
 
When a FLL causes Fox to crash everything is usually goofed up until a reboot, like my favorite the "invisible mouse".

What I would try is the following to attempt to debug it.

First just open and close the library.

It that works with no issues then use each function one by one followed by a close. Do this until you get your crash.

If no crash occurs after this then it might be an issue with passing a varible to the function in your code.

If your variable is too big, and the code in the FLL isn't coded to handle it, then it can cause a big crash.

So I suggest trying the above and reporting the results to the maker of the FLL.


B"H
Brak
 
Any chance you have a CLOSE ALL somewhere in the code?

Rick
 
I do not use CLOSE ALL but I do use CLOSE DATABASES and CLEAR READ when the user exits the screen. The largest variable I create is 200 characters (blanks) used to fill unused character data fields.
 
Aw, 200 charactors can do it if the FLL isn't coded in a certain way. C is very touchy with the use of pointers and Fox makes the C even more touchy. SO things that wouldn't crash an EXE or DLL will crash a FLL.

Try this experiment.

Use the functions you use in the program with a small variable (say like 5 or 7 spaces) via the command box.

Close and see if it causes a problem.

Then try a huge variable.

If the big variable crashes it but the little varible doesn't then it has to do with the the programmer of the FLL used the pointers.


B"H
Brak
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top