By registering with us, you'll be able to discuss, share and private message with other members of our community.
SignUp Now!Lots of calls changed. Many of my plugins needed changes before they would load under v17.
I have 4 plugins of decent size. Making the necessary changes so that they build and run in v17 and before was not hard. Finding what needed to be changed took a little work but it was nowhere near the chore I expected. If you have DUMPBIN.EXE it can be valuable in finding out exactly what the latest TakeCmd.dll exports.
What's an "ep"?Hello -- in the old sdk there was an ep "external" -- not in v17 -- is there an alternative? maybe use the windows api to execute a program?
Command(L"program.exe". ...);
Command(L"START ...", ...);
g:\tc17> dumpbin /exports takecmd.dll | grep External
142 6D 00045B70 ?External@@YGHAAV?$CStringT@_WV?$StrTraitATL@_WV?$ChTraitsCRT@_W@ATL@@@ATL@@@ATL@@00@Z
g:\tc17> undecorate ?External@@YGHAAV?$CStringT@_WV?$StrTraitATL@_WV?$ChTraitsCRT@_W@ATL@@@ATL@@@ATL@@00@Z
int __stdcall External(class ATL::CStringT<wchar_t,class ATL::StrTraitATL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > > &,clas
s ATL::CStringT<wchar_t,class ATL::StrTraitATL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > > &,class ATL::CStringT<wchar_t,cla
ss ATL::StrTraitATL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > > &)
What's an "ep"?
There's
andCode:Command(L"program.exe". ...);
and of course the Win32 API functions CreateProcess() and ShellExecute[Ex]().Code:Command(L"START ...", ...);
"External()" is still there but in a new form which I doubt we're going to be using any time soon.
Code:g:\tc17> dumpbin /exports takecmd.dll | grep External 142 6D 00045B70 ?External@@YGHAAV?$CStringT@_WV?$StrTraitATL@_WV?$ChTraitsCRT@_W@ATL@@@ATL@@@ATL@@00@Z g:\tc17> undecorate ?External@@YGHAAV?$CStringT@_WV?$StrTraitATL@_WV?$ChTraitsCRT@_W@ATL@@@ATL@@@ATL@@00@Z int __stdcall External(class ATL::CStringT<wchar_t,class ATL::StrTraitATL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > > &,clas s ATL::CStringT<wchar_t,class ATL::StrTraitATL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > > &,class ATL::CStringT<wchar_t,cla ss ATL::StrTraitATL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > > &)
ep -> entry pointThanks for the info
thanksYes.
Has the function GetClipboardLine been removed from takecmd.h -- if so is there an alternative?
umm ... I see that from export list of the dll, there seems to be a decorated version of the clipboard function,
but no reference in the *.h file, so how it it accessed?
From the clipboard function in the *.h -- not sure if I missed one, but all that seems to "read/get"
text from the clipboard require a filename -- is that the case?
in addition egets also is not in the *.h file --
Should there be some core function in the API that transcend any version of the code?
It's not intended to be accessed by plugins. To do it, you'd have to write a v17-only version and switch everything to CAtlStrings. Or you could write your own function to read a line from the clipboard in < 20 lines of code.
The clipboard routines are all for internal use -- they implement the CLIP: pseudo-variable (by writing the clipboard to a temp file & then reading that file). They're way too complicated to use if you just want to read the clipboard.
egets should not be used in plugins -- it's not reentrant, so using it in a plugin is going to trash memory.
We had a v17 private & public beta for several months so that plugin authors could get their plugins updated to work with v17. Upon request, some of the new v17 functions got a wrapper
so they could be called with the old prototype.
is there an a alternative to egets to read text from the screen?
thanks -- thanks again for the helpNot as a takecmd.dll function; there's lots of choices in the RTL and third-party libs.