I believe this change:

http://synalist.svn.sourceforge.net/viewvc/synalist/trunk/sswin32.inc?r1=143&r2=144

caused a problem for me with 64-bit windows compiling with FPC.

Specifically this:

{$IFDEF FPC}
  {$IFDEF WIN32}
    {$ALIGN OFF}
  {$ELSE}
    {$PACKRECORDS C}
  {$ENDIF}
{$ENDIF}

Because synsock.pas does this:

{$IFDEF WIN64}
  {$DEFINE WIN32}
{$ENDIF}

that means WIN32 is defined when compiling for 64-bit windows, which
means the {$ALIGN OFF} gets used. When {$ALIGN OFF} is included for
64-bit windows, for me, I get an error 11003 from the call to
synsock.GetAddrInfo in SetVarSin. That alignment directive appears to
not be good for 64-bit windows.

This is what I am currently using which seems to work for 32-bit and
64-bit windows with FPC:

{$IFDEF FPC}
  {$IF defined(WIN32) AND NOT defined(WIN64)}
    {$ALIGN OFF}
  {$ELSE}
    {$PACKRECORDS C}
  {$IFEND}
{$ENDIF}


Regards,

-Seth Grover

--
This email is fiction. Any resemblance to actual events
or persons living or dead is purely coincidental.

Seth Grover

------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
synalist-public mailing list
synalist-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synalist-public

Reply via email to