Can't receive dragged text from the latest Notepad++ release
To provide further information:
(1) No, this is not a admin issue. It works fine in all versions up to and including 7.9.3 so I am assuming it was affected by a change made after that version
(2) My app is a hybrid with a C# back-end and some legacy VB6 code for the UI (don’t ask!). It is the VB6 part that is not working. Here is another VB6 app for which OLE Drag and Drop works with other programs but not with the current version of NP++: https://www.freevbcode.com/ShowCode.asp?ID=2026
Michael Vincent last edited by
Do you know of other specific apps that we’re likely to have that can be used as a source or destination?
I just tried from Notepad++ 7.9.5 to / from Windows WordPad (write.exe). It works fine both ways - drag / drop from N++ to WordPad and drag / drop from WordPad to N++.
Maybe your application doesn’t support drag and drop (like Windows Notepad doesn’t) since it seems Notepad++ works OK.
I thought I was clear about the circumstances but let me reiterate:
(1) Drag and drop is an integral part of the app and it used to work with earlier versions of NP++. It works with every other program that I have used including Chromium based browsers, MS Office programs, and WordPad among others.
(2) The problem seems to be with legacy software such as VB6 since neither my app nor the one I have referenced above from freevbcode works with NP++ drag and drop.
PeterJones last edited by
The problem seems to be with legacy software such as VB6
I think that’s what @Michael-Vincent was trying to say.
Since his experiments show that Notepad++ v7.9.5 handles drag-and-drop just fine with WordPad (and I just confirmed that it works with WordPad and MS Word 2016), then Notepad++ seems to handle drag-and-drop just fine. In that case, maybe there’s something specific to the way the drag-and-drop is implemented in the VB6 implementation that makes it incompatible with Notepad++'s implementation.
and it used to work with earlier versions of NP++
I don’t think this statement alone is a valid complaint, when it has been shown by several that drag-and-drop of text works fine with N++ 7.9.5 and WordPad and Word.
Now, if you can be more specific, then…maybe.
I thought I was clear about the circumstances but let me reiterate
I suppose you were clear, but in light of drag-and-drop working between N++ 7.9.5 and popular MS-apps, and the lack of other specifics from you, I’ll have to tell you that probably no one cares.
It’s quite some time ago that I had to deal with Drag&Drop, but if I remember this right, the applications have to negotiate about how and what gets transferred. Could it be that Notepad++/Scintilla have dropped support for some older stuff? I imagine that VB6 code might well be not-so-up-to-date in this respect.
It seems that Scintilla has changed Drag&Drop handling in V. 4.3.0 and 4.3.1(taken from release notes):
Fix drag and drop between different encodings on Win32 by always providing CF_UNICODETEXT only
On Win32, remove support for CF_TEXT clipboard format as Windows will convert to CF_UNICODETEXT.
Scintilla was updated from 4.2.0 to 4.4.6 in Notepad++ 7.9.4. Quite possible this has to do with that.
I am not nobody. And there are probably MANY businesses in the world who still use legacy applications written in VB6. How many COBOL programs are still used in production? So when you say “no one cares” I think you are misinformed.
How much more specific can I be? It doesn’t seem to work with VB6 anymore. I think that is very specific.
It would seem like the obvious culprit is Scintilla as per gerdb42. I can live with it (copy and paste works fine) but it still takes away functionality from NP++ for those of us who still use legacy software. And, to re-reiterate, my software works fine with everything else that I have tried just as NP++ works fine with everything it has been tested with EXCEPT VB6.
I am not nobody.
Didn’t mean to imply you were…or weren’t…
So when you say “no one cares” I think you are misinformed.
What I meant was on a Notepad++ development basis.
To be totally clear: The developers probably don’t care.
And probably rightly so…life moves on.
An example is that Notepad++ recently ended support for Windows XP…newer versions of N++ just won’t run on it.
Nobody can code for “older stuff” forever.
I didn’t take it personally. I meant there ARE people out there who are affected by these kinds of changes. I don’t know what advantages the new version of Scintilla provides re drag and drop and, if it is substantial, then I have no problem with the upgrade. However, if the “gain of function” is minimal and it means that legacy software is no longer supported then that might be a net loss.
Windows XP is no longer supported and only people from 3rd world countries who can’t afford to upgrade ought to be using it. Millions of lines of Visual Basic 6 code is still being used in the first world and, if COBOL is any indication, probably in many, many places. Your analogy is false, IMO. BTW, why do you think Windows has a compatibility mode?
So I suppose you could contact the Scintilla developers about this, if you are inclined to, see if they’d rollback their functionality change, or create some sort of “compatibility” mode for you. Maybe they’ll care. I suspect that even you don’t care enough about it to pursue that.
Your (WinXP) analogy is false, IMO
It wasn’t supposed to be a tight analogy. It was supposed to emphasize the next line: ‘Nobody can code for “older stuff” forever’.
Well, possibly you and the COBOL people can. :-)
Cheers, mate. Good luck.
Problem solved. VB6 does not directly recognize UNICODE text for drag and drop. The Scintilla modification changed the datatype that one must test for in VB from 1 == vbCFText to 13 == CF_UNICODETEXT. Anyone having the same problem need only define CF_UNICODETEXT and then add a test for Data.GetFormat(CF_UNICODETEXT) and then retrieve the data similarly, to wit, Data.GetData(CF_UNICODETEXT).
And to @gerdb42 thanks for your cogent observation.
Glad it helped ;-)