Date:  04/02/2004 11:43:49 AM Msg ID:  001938
From:  Joe Cosby Thread:  001934
Subject:  Re: DLL causing Foxweb to crash?
Is there a complete list of DLL's that foxweb DECLARE's by any chance?
 
I am looking into this in more detail ... we are running Foxpro 6.0 and I was using the 7.0 docs, stupid, granted ... the CLEAR DLLS call is apparently clearing all DLLs in 6.0
 
If I don't do the CLEAR I get a memory leak, but then I will have to redeclare all of the DLLs.  I did "DISPLAY DLLS" from a running Foxweb session and there are 20 alltogether ...
 
 
Sent by FoxWeb Support on 04/01/2004 04:56:13 PM:
The function 'urlencodefunction' is contained in fwdll.dll and is declared using the following command:
 
DECLARE INTEGER UrlEncode IN fwdll.dll AS UrlEncodeFunction STRING @
It's possible that there's a naming conflict, or it's possible that the call to CLEAR DLLS clears more than it should.  I would start by removing this call and see if it corrects the problem.  You can also re-declare the function after you are done with your blowfish calls.

FoxWeb Support Team
support@foxweb.com email

Sent by Joe Cosby on 04/01/2004 04:17:50 PM:
Hayulp ...
 
I have built a DLL with functions for Blowfish encryption.  Testing this from Foxpro, everything works fine.  But now when I do calls to the same DLL from Foxweb, I am getting this weird error:
 
Error #:      1
Message:  File 'urlencodefunction.prg' does not exist.
Program:  procedure classserver1.urlencode fwserverobject.fxp
Line #:  427
Line:  ...

I checked the error log and the prev_prog is "urlencode.fxp", which is not something of ours.
 
In a little more detail;  from the foxweb script, a class object is created and in the constructor it executes:
  DECLARE INTEGER Blowfish_blowfishInit IN Blowfish
  DECLARE Blowfish_setPassword IN Blowfish INTEGER bfPointer, STRING @ newPword
  DECLARE STRING Blowfish_encrypt IN Blowfish INTEGER bfPointer, STRING @ encryptText, INTEGER nTextBytes
  DECLARE STRING Blowfish_decrypt IN Blowfish INTEGER bfPointer, STRING @ encryptText, INTEGER nTextBytes
  DECLARE Blowfish_destroy IN Blowfish INTEGER bfPointer
  
  THIS.nBlowfishPointer = Blowfish_blowfishInit()
 
Then the script calls Blowfish_encrypt() through the object and afterwards RELEASE the class object, which calls Blowfish_destroy() and
 
CLEAR DLLS "Blowfish"
 
I'm really not sure where the conflict is occuring in all this ... whether I have stomped a name somewhere or something in clearing the DLL is causing a problem with DLLs Foxweb is using for some weird reason ... or what.
 
Thanks for any help, I am kind of under the gun on this project and didn't anticipate anything like this ...