|
|
There you go, always thinking differetly
I have lost more blood shaving than on the battlefield - Adolf Hitler
|
|
|
|
|
freehawk wrote:
Could you tell me whether STL can be used in a WTL project?
STL can be used with any C++ project.
freehawk wrote:
and I need to read data from file line by line,
#include < iostream >
#include < fstream >
#include < string >
int main()
{
std::ifstream f( "c:\\test.txt" );
std::string fline;
while(std::getline( f, fline) )
std::cout << fline << std::endl;
return 0;
}
---
“Our solar system is Jupiter and a bunch of junk” - Charley Lineweaver 2002
|
|
|
|
|
Thank you and everyone very much.
It is useful to me and I can know it clearly.
-Freehawk
|
|
|
|
|
Less typing:
#include < iostream >
#include < fstream >
#include < string >
using namespace std;
int main()
{
ifstream f( "c:\\test.txt" );
|
|
|
|
|
I have a com object in which there are different properties. When i get these values through it works well when property is returning long or some other integer but it crashes when property is returning bstr. Take a look at my code and guide me that what i did wrong.
VARIANT pvResult;
memset(&pvResult, 0, sizeof pvResult);
VariantInit(&pvResult);
DISPID dispID=this->pColl->getMemberID(index);
DISPPARAMS dispParamsNoArgs={NULL,NULL,0,0};
HRESULT hr=pDispatch->Invoke(dispID,IID_NULL,LOCALE_USER_DEFAULT,
DISPATCH_PROPERTYGET,&dispParamsNoArgs,
&pvResult,NULL,&nArgErr);
Thanx in advance
Inam
|
|
|
|
|
The EOF marker has arisen from its MS-DOS grave to cause troubles for me -- I have an ifstream (which I open with the ios::binary flag specified) that refuses to read past a 0x1A byte. What am I doing wrong? The only calls I make are:
ticks.open(fn, ios::in || ios::binary);
...
ticks.seekg(fpos<int>(0, iter->offs));
...
ticks.read((char *) &data, sizeof (data));
if (ticks.eof()) return;
Whenever the initial byte of the block to be read is 0x1A, the read fails and eof() returns true. The same code works elsewhere and it's causing me a bit of grief. Any help greatly appreciated.
READIN writin rhythmetic
|
|
|
|
|
ticks.open(fn, ios::in || ios::binary); should be
ticks.open(fn, ios::in | ios::binary); but I don't happen to know how this could result in the strange behavior you describe.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Bingo! thanks, that's it -- the "ios::in || ios::binary" will of course resolve to 1, instead of the bitmap that I want. Thanks again; sometimes I need someone else to look at my code and point out the obvious mistake.
READIN writin rhythmetic
|
|
|
|
|
Hello everybody,
Does anybody know, how I can convert an in-proc server project written in ATL 3.0 (VC++ 6.0) to local server (exe version) or vice versa?
I mean that what changes, I have to make to the project settings and maybe to the source code and/or other files in the project? I have seen a sample project "ADOSAMP" that has several project settings for building dll or exe versions.
Regards,
Roozbeh
|
|
|
|
|
It's probably easier to just create a new project and copy the code from the in-proc project to the other. Make sure you update the .rgs files to reflect the new server type.
--
So let's just walk from place to place, as long as we don't talk face to face.
|
|
|
|
|
There is another way - DllSurrogate - which allows to use the in-proc as out-proc server.
With best wishes,
Vita
|
|
|
|
|
Hi all,
Is there any way to get the handle to menu window in internet browser window?
I want to disable some menu items in File,Edit,View. I am using VC6.0 and Win2k.
Thanks in advance,
Abhishek
|
|
|
|
|
I'd like to have data file with many strings and load them at once using MapViewOfFile[Ex] and unload with UnmapViewOfFile. So I wouldn't have to allocate memory for each string on heap.
How can I use basic_string<> or CStringT attaching them to pointer to string within mapped space so they wouldn't copy that string to internal buffer?
--
Alvin777
|
|
|
|
|
|
Hi all,
Who and when IDocHostHandler::ShowUI() is invoked?.
I wish to know whether this function gets invoked before loading webpage?
Thanks in advance,
Abhishake
|
|
|
|
|
I am trying to read an html page and retrieve the value of three hidden input fields sure as:
<input name=port type=hidden value=1500>
VC++6.0/ATL/BHO -- Below is the code I am working with to read in the value (1500) but it is not working. I think i am missing something.
HRESULT hr;
TCHAR sPort[25];
IDispatch* pElemDisp = NULL;
IHTMLInputHiddenElement* pElem = NULL;
IHTMLElementCollection *pElemcoll;
// Get the WebBrowser's document object
CComPtr<IDispatch> pDisp;
HRESULT hr = m_spWebBrowser2->get_Document(&pDisp);
if (FAILED(hr)) return false;
CComQIPtr<IHTMLDocument2, &IID_IHTMLDocument2> spHTML;
spHTML = pDisp;
_variant_t tagName("input");
_variant_t tagNamePort("port");
BSTR* pValuePort = NULL;
spHTML->get_forms(&pElemcoll);
hr = pElemColl->tags( tagName, &pElemDisp );
if ( SUCCEEDED(hr) )
{
hr = pElemDisp->QueryInterface( IID_IHTMLInputHiddenElement, (void**)&pElem );
if ( SUCCEEDED(hr) )
{
hr = pElem->get_value(pValuePort);
if ( SUCCEEDED(hr) )
{
//Set port
_stprintf(sPort, _T("%s"), (LPCTSTR)pValuePort);
m_sPort = (int)sPort;
}
pElem->Release();
}
pElemDisp->Release();
}
//at this point m_sPort is NULL not 1500
I think I may not be handling the Element Collection object correctly. Any pointers as to where i am going wrong?
Thank you for any help you can give..
|
|
|
|
|
Have you stepped through with the debugger? Which line in there is failing?
If you just look at m_sPort after it's done, you can't tell which call fails.
Once you figure that part out, you need to fix your string handling. You don't pass a BSTR* to get_value() , you pass the address of a BSTR so that get_value() can store the return value in it:
BSTR bsValuePort = NULL;
hr = pElem->get_value ( &bsValuePort );
SysFreeString ( bsValuePort ); Then, casting a BSTR to a LPCTSTR will do you no good in an ANSI build. Nor will casting a char array to an int . Assuming m_sPort is a CString , You can just write:
m_sPort = (LPCWSTR) bsValuePort; and let the CString constructor do the conversion.
--Mike--
Personal stuff:: Ericahist | Homepage
Shareware stuff:: 1ClickPicGrabber | RightClick-Encrypt
CP stuff:: CP SearchBar v2.0.2 | C++ Forum FAQ
You cannot stop me with paramecium alone!
|
|
|
|
|
I have a problem on building the "Hello World" project after converting it to Visual Studio .NET 2003. The build log:
Build Log ------- Build started: Project: HelloWorld, Configuration: Debug|Win32 -------
Command Lines Creating temporary file "f:\Samples\WebFeatures\HelloWorld\Debug\RSP000001.rsp" with contents
[
/Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "HELLOWORLD_EXPORTS" /D "_WINDLL" /FD /EHsc /MTd /Fp".\Debug/HelloWorld.pch" /Fo".\Debug/" /Fd".\Debug/" /W4 /c /ZI /TP /Bv /Bt /Wp64
.\HelloWorld.cpp
]
Creating command line "cl.exe @f:\Samples\WebFeatures\HelloWorld\Debug\RSP000001.rsp /nologo"
Creating temporary file "f:\Samples\WebFeatures\HelloWorld\Debug\RSP000002.rsp" with contents
[
/Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "HELLOWORLD_EXPORTS" /D "_WINDLL" /FD /EHsc /MTd /Fp".\Debug/HelloWorld.pch" /Fo".\Debug/" /Fd".\Debug/" /W4 /c /ZI /TP /Bv /Bt /Wp64 /Bv /Bt /Wp64
.\StdAfx.cpp
]
Creating command line "cl.exe @f:\Samples\WebFeatures\HelloWorld\Debug\RSP000002.rsp /nologo"
Output Window Compiling...
Compiler Passes:
D:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\cl.exe: Version 13.10.3077.0
D:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\c1.dll: Version 13.10.3077.0
D:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\c1xx.dll: Version 13.10.3077.0
D:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\c2.dll: Version 13.10.3077.0
D:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\link.exe: Version 7.10.3077.0
D:\Program Files\Microsoft Visual Studio .NET 2003\Common7\ide\mspdb71.dll: Version 7.10.3077.0
HelloWorld.cpp
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\atlmfc\include\atlsocket.inl(26) : error C3861: 'FreeAddrInfo': identifier not found, even with argument-dependent lookup
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\atlmfc\include\atlsocket.inl(42) : error C3861: 'FreeAddrInfo': identifier not found, even with argument-dependent lookup
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\atlmfc\include\atlsocket.inl(52) : error C2039: 'GetAddrInfo' : is not a member of 'operator``global namespace'''
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\atlmfc\include\atlsocket.inl(52) : error C2660: 'ATL::CSocketAddr::GetAddrInfo' : function does not take 4 arguments
time(D:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\c1xx.dll)=11.947s
Results Build log was saved at "file://f:\Samples\WebFeatures\HelloWorld\Debug\BuildLog.htm"
HelloWorld - 4 error(s), 0 warning(s)
Anyone has the experience in this kind of problem please give me some advice.
Thanks in advance.
Regards,
Hoa
|
|
|
|
|
Make sure you have included:
Ws2tcpip.h
and have added
Ws2_32.lib to the linker
|
|
|
|
|
Thanks Jörgen,
It worked for me, again thanks.
Abhishake
|
|
|
|
|
Hi All,
I am trying to Implement a "Simple Object" interface through ATL Object Wizard. But i am wondering there is no option of
IObjectWithSite (IE object support) in the ATL Object Wizard dialog, I am using VC6.0.
Is this option avaiable only with VC7.0 because i know lot of people talk about that, also MSDN doc listed this interface in the
support list for simple object.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcurfattributesatlsimpleobjectwizard.asp[^]
Also I have another question.
If i derived a interface from two interfaces (IObjectWithSite ) and (IDocHostUIHandler). the complier gives me following
error
I have following code
<br />
class ATL_NO_VTABLE CtempInterface : <br />
public CComObjectRootEx<CComSingleThreadModel>,<br />
public CComCoClass<CtempInterface, &CLSID_tempInterface>,<br />
public IConnectionPointContainerImpl<CtempInterface>,<br />
public IDispatchImpl<ItempInterface, &IID_ItempInterface, &LIBID_TESTTHISLib>,<br />
public IDocHostUIHandler
{<br />
};<br />
c:\program files\microsoft visual studio\vc98\atl\include\atlcom.h(1827) : error C2259: 'CComObject<class ctempinterface="">' : cannot instantiate abstract class due to following members:
c:\program files\microsoft visual studio\vc98\atl\include\atlcom.h(1823) : while compiling class-template member function 'long __stdcall ATL::CComCreator<class atl::ccomobject<class="" ctempinterface=""> >::CreateInstance(void *,const struct _GUI
D &,void ** )'
Can anyone help me?
Thanks
Abhishake
|
|
|
|
|
It means you have not implemented at least one of the interfaces member functions. If you have done that already, make sure your functions share the same type signature as defined in the interface. Remember that void function(int x) is not the same function as void function(long x).
The compiler should tell you which function that aren't implemented. Look closer at the error output.
--
Meine Welt ist monoton und minimal, doch ganz total!
|
|
|
|
|
Havent we had enough of this abomination? I have ceased to use ATL for my components. (As if this was not enough, along comes ATL server).
|
|
|
|
|
Mome on, people, nothing to see here, it's just a troll...
Perl combines all the worst aspects of C and Lisp: a billion different sublanguages in one monolithic executable. It combines the power of C with the readability of PostScript. -- Jamie Zawinski
|
|
|
|