#77 Win32::GUI::Scintilla needs a change to work with PerlApp

open
nobody
None
5
2014-08-20
2008-11-11
Anonymous
No

see http://bugs.activestate.com/show_bug.cgi?id=73572

for full details. Basic overview below.

I've looked at the Win32-GUI-1.06 issue and understand what is happening:

The SciLexer.dll is stored in the same directory as Scintilla.dll, but there is
no explicit reference to it in Scintilla.dll. Therefore it is not being loaded
automatically, but has to be loaded "manually" with LoadLibrary().
Scintilla.pm contains code to search @INC and the PATH for SciLexer.dll, but
won't find it when you use --dyndll because it is never written to the
filesystem. The code should be fixed by adding a PerlApp specific clause to
the module, like this:

unless ($SCILEXER_DLL) {
if (defined $PerlApp::VERSION) {
$SCILEXER_DLL =
Win32::GUI::LoadLibrary('auto/Win32/GUI/Scintilla/SciLexer.dll');
}
}

This goes directly in front of the "final attempt". With this change the code
works both with and without --dyndll option.

Discussion