|
Thanks to Antony for clearing up some things here.
Embedded C++ insists on UNICODE, this means that if you want to build for both platforms, you should use the proper typedefs when working with strings.
Michael Dunn has written a very good article on this: The Complete Guide to C++ Strings[^]
So it seems that the compiler confusion springs from: When compiling for the embedded environment, it will allways link to wide character functions, this means that you can't use char , and that, when you compile for the embedded environment, have to define UNICODE.
"After all it's just text at the end of the day. - Colin Davies
"For example, when a VB programmer comes to my house, they may say 'does your pool need cleaning, sir ?' " - Christian Graus
|
|
|
|
|
TCHAR* filnavn1 did it.
Did not know that it was UNICODE.
All works fine now.
Thanks to all
|
|
|
|
|
This problem puzzled me a long time,can somebody help me?
Thanks a lot!
(Visual C++ 6.0)
Use MFC wizard to create a ActiveX Control project.Name the control class as CTestCtrl. Then Use Classwizard to add a new class to project, name it as CTestObj ,select CCmdTarget as base class,select create by ID "testctrl.TestObj". Now use ClassWizard to add a Automation method named GetObj to the control CTestCtrl.The method has a parameter that is of LPDISPATCH type. The definition just like below
void CTestCtrl::GetObj(LPDISPATCH inserObj)
{
CTestObj *pObj = (CTestObj*) CCmdTarget::FromIDispatch( inserObj);
if (!pObj)
AfxMessageBox("Error, cannot get dispatch object");
else
AfxMessageBox("OK");
}
The project is ready now, build and register the control.
Write a simple test html page using visual Interdev(or anything else).Insert the TestCtrl and a Button to the html page .Add below codes for the button click event function.
var obj = new ActiveXObject("testctrl.TestObj");
DTestocx1.GetObj(obj);
Now begin test.Open an IE window and Select File->Open to open the test html page. Click the button,it will show message "ok". But if you select File->New Window in IE to open a new same window, and in new IE window click the button ,it will show "Error, cannot get dispatch object" . Why???
|
|
|
|
|
Hi.
This may not be entirely proper for this group, but it would be nice to have
a C++ solution...
I'm running cacls in order to change permissions for a folder. (Setting
change permission to the "Everyone" group.) E.g. cacls <dirname> /E /G
Everyone:C
The problem is however that the name of this "everyone" group is not
"Everyone" on non-english Windows OS.
I'm running cacls as part of an installation, and the product can be
installed on NT/2000/XP in any language. The installation fails however,
when i run cacls as listed above on non-english OS. I need to replace
"Everyone" with the correct name for the group in the language of the OS the
product is being installed on.
So, is there a way to get the correct name of the "everyone" group?
- Jan Ove Aase
|
|
|
|
|
Maybe NetGroupEnum or the ADSI IADsGroup will help.
Ant.
I'm hard, yet soft. I'm coloured, yet clear. I'm fruity and sweet. I'm jelly, what am I? Muse on it further, I shall return! - David Walliams (Little Britain)
|
|
|
|
|
I am not familiar with CACLS, but I do know there is a listing in the MSDN of well known SIDs and the 'everyone' group has a well known SID, perhaps you can use that instead.
We ran into a similar problem with translating 'Everyone' and I changed the code to use the well known SID instead.
|
|
|
|
|
Yes, this seems like a good solution. Except, the MSDN doc says it's only included in XP and later. I need a solution that will work for W2000 and NT4.
Am I missing something, or is this solution only for XP?
Jan Ove Aase
|
|
|
|
|
I finally managed to sort it out. I can use InitializeSid on NT/2000 (seems to work on XP too), and CreateWellKnownSid on XP and Server2003.
InitializeSid does not create a valid SID for LookupAccountSid on XP or Server2003. (Actually, when I built release, it did work on XP, but not in debug mode.)
Anyway, with two programs, one for NT/2000 and one for XP and later, it seems to work.
Thanks.
Jan Ove Aase
|
|
|
|
|
How to get ID of a dialog from another class?
|
|
|
|
|
why do u wnat ID of Dialog Box
-----------------------------
"I Think It Will Help"
-----------------------------
Alok Gupta
visit me at http://www.thisisalok.tk
|
|
|
|
|
Hi,
I already have Platform SDK installed in win2k in the path c:\psdk.
I want to update the SDK.Do i need to specify the same directory c:\psdk while installing the latest one. Or specify a different path ?
Pls help
Thanks in advance
Ram
|
|
|
|
|
My personal preference would be to remove the old version and install the new version to whatever path I prefered.
Ant.
I'm hard, yet soft. I'm coloured, yet clear. I'm fruity and sweet. I'm jelly, what am I? Muse on it further, I shall return! - David Walliams (Little Britain)
|
|
|
|
|
I agree. Very few items benefit from overwriting.
"Opinions are neither right nor wrong. I cannot change your opinion of me. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
DWORD __stdcall MEditStreamOutCallback(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb)
{
CString sThisWrite;
sThisWrite.GetBufferSetLength(cb);
CString *psBuffer = (CString *)dwCookie;
for (int i=0;i<cb;i++) {
="" sthiswrite.setat(i,*(pbbuff+i));
="" }
="" *psbuffer="" +="sThisWrite;
" *pcb="sThisWrite.GetLength();
" sthiswrite.releasebuffer();
="" return="" 0;
}
<u="">I use above function to get string form buffer but i have problem.
Assume the string on editor is "##123456789##" and i test MEditStreamOutCallback function with below function
void CRichEgView::OnReadout()
{
CString sReadText; to
EDITSTREAM es;
es.dwCookie = (DWORD)&sReadText; es.pfnCallback = MEditStreamOutCallback;
GetRichEditCtrl().StreamOut(SF_RTF,es); MessageBox(sReadText.Mid(0,500));
}
The string below is the result but i need noly "##123456789## string,please suggest
"{\rtf1\ansi\ansicpg874\deff0\deflang1054{\fonttbl{\f0\fswiss\fprq2\fcharset222 System;}}
\viewkind4\uc1\pard\lang1033\b\f0\fs20 ##123456789##\lang1054\par
}
"}
|
|
|
|
|
Have you tried GetWindowText() ?
Ryan "Punctuality is only a virtue for those who aren't smart enough to think of good excuses for being late" John Nichol "Point Of Impact"
|
|
|
|
|
GetWindowText() so work!!!
|
|
|
|
|
hi,
is there anyway of accessing data in a win Ce other then thought the RAPI function??
i would like to download the database to my PC and access it with an application written in VC++.
|
|
|
|
|
You cannot access directly the database (on the PocketPC) from your desktop computer. But what you can do is first copy it on the desktop computer and then access it. But you will need to convert it during the copy. Take a look at this article to see how to do this ADOCE Filtering[^].
Hope this helps
|
|
|
|
|
thanks... that was helpful.
|
|
|
|
|
Howdy All-
I am just looking for some good words about these 3 topics (together)....
I've been asked to add SNMP support to an application. That is, my application should be able to provide SNMP data to those that ask for it.
Does that make me an SNMP Agent?
or a provider?
Does WMI "just do this" for me? (assuming I hook into WMI appropriately)?
It's a messy world...
Thanks
-p
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br />
Peter Weyzen<br />
Staff Engineer<br />
<A HREF="http://www.santacruznetworks.com">Santa Cruz Networks</A>
|
|
|
|
|
Search MSDN for "SNMP Extension Agent" and "Writing Your Own SNMP Management Information Base for Microsoft Windows CE 3.0". The sample for Windows CE works in Windows NT too. You must install the Windows SNMP agent before try the sample.
TIP. Your extension DLL must depends ONLY from DLLs into the system folder. Even if the DLL that your extension DLL depends are into the same folder (and the folder is not the system folder, p.ex. c:\program files\yourapp ), the Windows SNMP agent will fail to load your dll ! Only Windows Server 2003's SNMP agent can load the DLL.
|
|
|
|
|
hai..
I have to send a packet to a port..i'm using writefile() to do this..
My packet is 4 bytes 01 43 52 0D all hex values...
how should i do this..
thanks a lot.
|
|
|
|
|
I assume your real question is:
How do I represent this hex data in C++?
unsigned char Data[] = { 0x01, 0x43, 0x52, 0x0D };
const int DataSize = (sizeof(Data)/sizeof(unsigned char));
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br />
Peter Weyzen<br />
Staff Engineer<br />
<A HREF="http://www.santacruznetworks.com">Santa Cruz Networks</A>
|
|
|
|
|
Hello,
I've added my own hook procedure to an Explorer-Type Open File Dialog and I'm trying to override the lst2 listbox ON_LBN_DBLCLK call to prevent the dialog from taking the one file double clicked on and dismissing the dialog.
What I want to do is re route the ON_LBN_DBLCLK call to a different function.
I have not been able to re route the call using the message map nor with the callback functions, any ideas? Is it even possible to do so?
Thanks,
--Joseph
|
|
|
|
|
I can't find any information how I can
- add my custom template to the OPENFILENAME dialog
- have the "new style" (with the places bar to the left) enabled
I'm adding OFN_ENABLETEMPLATE | OFN_EXPLORER | OFN_ENABLESIZING to the flags, but I get the "old" look (with my child dialog added OK)
we are here to help each other get through this thing, whatever it is Vonnegut jr. boost your code || Fold With Us! || sighist | doxygen
|
|
|
|