Joseph Galbraith:

> Ugh... I'm pretty sure VC++ 6.0 can use the more recent Platform
> SDK that has this stuff (we do it all the time) but it seems to
> be a little bit trickier to get it to do so from the command line.

   Asking people to download a PSDK and hook it up to an existing
compiler will increase support requests.

> Adding the following to the makefile CXXFLAGS makes it build:
> ...

   There are also VC 6 project files. Adding to source code rather
than build files is less work and easier to understand.

> But that is probably a little bit gross.  Would there be a
> better place to put these defines?  (Defining these in the
> case were they aren't defined seems cleaner to me than
> cluttering the code itself up with #ifdefs?)

   PlatWin.cxx, ScintillaWin.cxx and SciTEWin.cxx already contain some
support for switching between GetWindowLongPtr and GetWindowLong so
this could be extended.

> My guess is that it used to be declared as PASCAL but that
> it has been changed.  PASCAL and CALLBACK may be equivalent
> on s ome platformsbut different on others.  I don't know...
> that is why I figured do it the way MS does and then it
> won't cause problems.

   Scintilla and SciTE, currently use PASCAL consistently for window
procedures. Inconsistencies are often cause for worry when looking for
bugs, so can cause unnecessary work. For example, when looking at
ListBoxX in the patch, the difference between StaticWndProc (LRESULT
CALLBACK) and ControlWndProc (long PASCAL) is notable. I expect you
meant to change ControlWndProc too.

> The ones I'm generating are from subversion (I've imported
> the scitilla HEAD so I can work with it.)  Is there problems
> applying them?

   The patches are fine as far as patches go but I don't have a tool
to apply them on Windows. I can switch to Linux and apply them but
none of the Windows patch tools have ever worked well for me. Manually
applying patches is tedious and leads to errors.

   AFAICT PASCAL and CALLBACK only had a real difference on 16 bit
windows where CALLBACK was always FAR. There was also a difference in
how the name appeared in DLL import sections with PASCAL upper-cased
with no decoration but that didn't affect runtime behaviour.

   Neil

_______________________________________________
Scintilla-interest mailing list
[email protected]
http://mailman.lyra.org/mailman/listinfo/scintilla-interest

Reply via email to