This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: dll


I'll take a guess...

Perhaps when FoxPro uses a DLL, it's similar to when Visual Basic uses one.
With VB, the functions that you export from your DLL must following the
standard calling convention __stdcall, opposed to the C calling convention
__cdecl. If FoxPro is the same, then it's calling your DLL with parameters
in reverse order, AND it's expecting your function to clean up the stack
(opposed to it having to do the work).

I have no idea if I'm right about this, but it's worth a try. Re-export the
functions from your DLL with __stdcall, and see what that does for you.

Jon

> -----Original Message-----
> From: cygwin-owner@cygwin.com [mailto:cygwin-owner@cygwin.com]On Behalf
> Of Jettero Heller
> Sent: Thursday, February 07, 2002 7:19 AM
> To: cygwin@cygwin.com
> Subject: Re: dll
>
> I tried this question a few days ago... no bites.  Is there
> a better place I can ask about it, or read about DLL's or
> something.
>
> Really, I figure it's a conflict between cygwin1.dll's
> filehandles and some other DLL that foxpro is loading...
>
> Ever heard of file handle issues in any other DLL?
>
> On Mon, Feb 04, 2002 at 10:00:02AM -0500, Jettero Heller wrote:
> >
> > I'm attempting to write a dll that gives some TCP support to
> > FoxPro.
> >
> > FoxPro is pretty antiquated... it's been challenging. ;)
> >
> >
> > I got to a place where my dll loads up fine from a .exe, but
> > if foxpro tries to use it, it sagfaults:
> >
> > VFP caused an invalid page fault in
> > module KERNEL32.DLL at 0167:bff7b9a6.
> >
> > The line that causes the sagfault appeared to be a harmless
> > int sfd = socket() call.  *ponder*
> >
> > I had done a few other cygwin1.dll calls (sprintf, strcpy,
> > and so on); and theorized that it had something to do with
> > the file handle.
> >
> >
> > I did a similar int fd = open() call.  It worked from my
> > .exe load of the .dll, but crashed with foxpro.
> >
> >
> >
> > I believe the problem is that foxpro is linked against a
> > .dll that clashes with the cygwin1.dll ... or something
> > like that.
> >
> >
> > Any suggestions at all would be greatly appreciated.
> > --
> > Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> > Bug reporting:         http://cygwin.com/bugs.html
> > Documentation:         http://cygwin.com/docs.html
> > FAQ:                   http://cygwin.com/faq/
> >
>
> --
> If riding in an airplane is flying, then riding in a boat is swimming.
> 17 jumps from a c182.  Roughly 142 seconds of free fall.
>
> --
> Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> Bug reporting:         http://cygwin.com/bugs.html
> Documentation:         http://cygwin.com/docs.html
> FAQ:                   http://cygwin.com/faq/
>


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]