|
Did you make a toolbar plugin, or did you add a button to an existing IE toolbar? If it's the former, IE creates one instance of your toolbar for each tab for backcompat reasons. You'll need to keep a flag somewhere where all instances can read it that indicates whether your dialog is already open.
|
|
|
|
|
Hi Eric,
i have made toolbar for IE in VC6 using RBDESKBAND Wizard. I am not able to capture the IE Events.
Will you guide me the steps to capture IE events mainly onDocumentComplete in toolbar so that the
functionality will be in toolbar perform according to ondocumentcomplete events value.
I have even upgrade this (VC6) code to VS2005 & facing same problem.I want to use the toolbar for
IE6,7,8.
Pls. give your suggestion to comeout from this problem.
Thanks.
|
|
|
|
|
HI
I am new to this STL form. I have a simple question, unique does not work as expected.
Here is my test code
int iList[4] = {0};
iList[0] = -131;
iList[1] = -131;
iList[2] = -343455555;
iList[3] = -131;
vector<int> iNeighborList(iList, iList + 4);
vector<int>::iterator it;
it = unique(iNeighborList.begin(), iNeighborList.end());
iNeighborList.resize(it - iNeighborList.begin());
it = remove(iNeighborList.begin(),iNeighborList.end(),-343455555);
iNeighborList.resize(it - iNeighborList.begin());
int isiz = iNeighborList.size();
I am using VS2005 to compile it using Pure MSIL (/clr:pure) switch.
Can anybody help me why I am getting uncexppected result.
Thank you
|
|
|
|
|
Hi
Is there anybody know, what mistake I made in the code .
Thank you
|
|
|
|
|
Your problem is that your expectation of what unique does is incorrect. In the MSDN Documentation for Visual Studio 2008 (and the C++ Standard says the same, but in slightly different language), it says:
Removes duplicate elements that are adjacent to each other in a specified range. Only the first two elements of your array are of equal value and adjacent to each other.
|
|
|
|
|
Hi
Thank you for your good point.
Is there any function which can find unique elements in an array vecor even though unique elements may not be adjacent.
|
|
|
|
|
If the order of elements is unimportant, sort the vector (with std::sort ) before using unique .
Otherwise, try something like:
#include <set>
#include <vector>
#include <iostream>
#include <iterator>
struct Finder : std::unary_function<bool, int>
{
Finder(std::set<int>& s) : s_(s) {}
bool operator()(int i) const
{
if (s_.count(i)==0)
{
s_.insert(i);
return false;
}
else
{
return true;
}
}
std::set<int>& s_;
};
int main(int, char**)
{
std::vector<int> data;
data.push_back(1);
data.push_back(3);
data.push_back(2);
data.push_back(1);
data.push_back(5);
data.push_back(1);
std::copy(data.begin(), data.end(), std::ostream_iterator<int>(std::cout, ", ")); std::cout << std::endl;
std::set<int> uniqueItems;
data.erase(std::remove_if(data.begin(), data.end(), Finder(uniqueItems)), data.end());
std::copy(data.begin(), data.end(), std::ostream_iterator<int>(std::cout, ", ")); std::cout << std::endl;
return 0;
}
It's not too pretty, but should work OK. And if you parameterise Finder , you can re-use if you need to do it again
|
|
|
|
|
|
The definition of your functor is wrong. You have:
Stuart Dootson wrote: struct Finder : std::unary_function<bool, int>
It should read:
struct Finder : std::unary_function<int, bool>
Here's the definition of std::unary_function from <functional> :
template<class _A, class _R>
struct unary_function {
typedef _A argument_type;
typedef _R result_type;
};
The result type comes second, not first (which I've always thought was strange).
Also, you should be #include ing <functional> for std::unary_function , as things stand you seem to be relying on some other include file including it indirectly.
And finally, this technique is not very efficient. Try something like this:
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
void main()
{
using namespace std;
typedef vector<int> data_t;
data_t data;
data.push_back(1);
data.push_back(3);
data.push_back(2);
data.push_back(1);
data.push_back(5);
data.push_back(1);
cout << "Contents before:" << endl;
copy(data.begin(), data.end(), ostream_iterator<int>(cout, " "));
cout << endl << endl;
sort(data.begin(), data.end());
data_t::iterator new_end = unique(data.begin(), data.end());
cout < "Contents after:" < endl;
copy(data.begin(), new_end, ostream_iterator<int>(cout, " "));
cout << endl << endl;
}
Steve
|
|
|
|
|
You might note the first sentence of the post you're replying to:
If the order of elements is unimportant, sort the vector (with std::sort ) before using unique .
The whole reason for using the set and stuff is to preserve the order of the elements.
|
|
|
|
|
|
|
Hi, I just want to know if it's possible to access a vector object by it's unique id.
In vector objects don't have id's you can just access them by their locations!
for example:
std::vector<myobject> objs;
objs.at(1).my_property = 'qwerty';
here 1 is the location of the object in that vector and it's not unique..
it can change if you delete or add a object on top of this object.
but i want to give them a unique id and access them by that.
Any suggestions?
|
|
|
|
|
Use std::map or std::hash_map . Use the unique ID as the map's key, the object as the associated value.
#include <map>
class MyObject
{
...
int UniqueID() const;
...
};
std::map<int, MyObject> myMap;
To insert an item:
MyObject o;
myMap.insert(std::make_pair(o.UniqueID(), o));
To retrieve an item:
MyObject anotherO = myMap[someID];
|
|
|
|
|
I have a problem with an OLE document container, which is developed in VS 6.0 and by the use of ATL no MFC is involved.
It is so when a document is loaded in the container it is loaded maximized and the menu with comes with the document is show ok. But if I restore the document down and then maximize it again then is the menu/toolbar, which comes with the document, not correctly redrawn. If I then minimize the document and then maximize it seems to be OK again. I have tried to search for similar cases on the internet but no luck so if anybody have a proposal to the solution then it would be great - many thanks in advance.
Jakob
|
|
|
|
|
Hi
I want to create a combobox and Insert/attach a ActiveX Control for writing in Hindi , So How can I Insert/attach ActiveX Control on ComboBox .
dabara
|
|
|
|
|
Hi,
I am struggling to retrieve the data returned in a safe array.
Have created two safearrays to send and receive byte[] from .net, managed to send a test string to the dll , which returns the same string back.
However when I convert that to char *, it copies all the contents of the void* from the array appending some junk characters at the end of the original string.
When i send "Test", i receive "Testxxxxxxx" in the pvdata element of the safearray structure.
Do I need to create array with any other data type?
SAFEARRAY *sfaret = NULL ;
SAFEARRAYBOUND sfBoundret[1];
sfaret = SafeArrayCreate(VT_UI1,1,sfBoundret);
sfaret = iDotNetPtr->Encrypt(sfa,"DLL.dll","DRDotNetDLLClass","Encrypt") ;
std::string str = (const char *) (sfaret)->pvData ;
I would appreciate any sugestions.
Cheers
|
|
|
|
|
How do you copy the string into the SAFEARRAY? Do you preserve the NULL terminator? If not, there's no way to determine the amount of the SAFEARRAY used by the string.
|
|
|
|
|
how to Registering namespace handlers for HTTP and HTTPS protocols within the Internet Explorer process ?
wqewqqeweqwrwerewrwe
|
|
|
|
|
|
I want to change in display of my toolbar application icon according to url value from address bar typed & clicked to go event in internet explorer.My application is internet toolbar to verify whether url typed in address bar is registered client or not & then display icon accordingly.
My objective is to get reflection in application image with go event of IE. I am using WTL,ATL,MFC with VC++6. If any one having any idea then pls. reply.
|
|
|
|
|
Hi,
I am getting this compilation while passing lpszFileName which is a char[260] to GetPrivateProfileInt which accepts LPWSTR. Can I know how to typecast this inorder to avoid compilation error.
Thanks,
Venkat
|
|
|
|
|
There's no typecast - but one of these might help:
- Use
GetPrivateProfileIntA , which is the the ASCII version of GetPrivateProfileInt . - If the string is a literal, pass it as
L"string-literal" rather than "string-literal" - Convert the char buffer(s) to wchar_t before passing into
GetPrivateProfileInt :
<div style="margin-left: 80px;"><code>char charBuffer[260];
wchar_t wcharBuffer[260];
mbtowc(wcharBuffer, charBuffer, 260);</code></div>
|
|
|
|
|
Hi, I'm new to ATL development. I've created an ATL project that creates a window embedded inside a webbrowser using an ATL control. I can compile, link and run this project and see the desired result in IE. I'm now in the process of adding functionality inside this window by calling functions in other none ATL DLLs (no DllRegisterServer inside these dlls). After adding these new dll dependencies I get the following:
In VS2003 the error states: "PRJ0019: A tool returned an error code from "Performing registration"
Doing a manual registration of my DLL I get: "DllRegisterServer in WebPlugin.dll failed. Return code was: 0x8007000e
My "WebPlugin.dll" is being compiled and linked but seems to be failing the last step of registration. Any ideas how to resolve this?
Thanks,
Chris
|
|
|
|
|
Using Ajax how we access the value from other page into the current page without redirect to other page
|
|
|
|