|
Fine to heat that you got some kind of success.
To post a link just copy it to the clipboard, insert in the CP editor, and wait a short time. It will be inserted as link with the title of the page as pre-selected link text (so it can be edited).
|
|
|
|
|
Frederick J. Harris wrote: a Win32 function which can be used to convert a floating point number into a provided character string buffer How would that help, since it will use the C runtime under the covers. If you do not wish to use the standard library then you will need to write your own function to do the work; and all the other pieces that would be needed. Remember, all string handling is done in the library, it's not part of the C language.
|
|
|
|
|
Good day. Please am writing an application, though things are going good. But am stucked in the area where l need to copy the text of what the user selected from a combo box and use that text to initialize the text field of the TC_ITEM struct to show on the tab control. l had tried many tactics. Code snippet below:
static WCHAR subject1tab[MAX_LOADSTRING];
INITCOMMONCONTROLSEX icce = {0};
TC_ITEM tie={0};
icce.dwICC=ICC_TAB_CLASSES;
icce.dwSize=sizeof(INITCOMMONCONTROLSEX);
InitCommonControlsEx(&icce);
tie.mask = TCIF_TEXT;
subjecthwnd=GetDlgItem(hwnd,IDC_UNICALPTUME_SUBJECT1);
GetWindowText(subjecthwnd,subject1tab,100);
tie.pszText=subject1tab;
SendMessage(SubjectTabs,TCM_INSERTITEM,(WPARAM)0,(LPARAM)&tie);
So please can someone help me on how to get the text string of selection from a combobox and use it to initialize a tab.
Thanks in advance.
modified 27-Jan-16 15:09pm.
|
|
|
|
|
|
@blingg: TC_ITEM is same as TCITEM but according to MSDN, TCITEM supercedes TC_ITEM.
However, l have done the corrections, still it doesn't work. l also used SendMessage, still yet no avail. l don't know what's wrong.
|
|
|
|
|
Set tie.iImage to -1 and make sure SubjectTab is a valid tab control HWND.
|
|
|
|
|
You first need to check that you are actually retrieving some text from your control. Is this code inside the dialog that holds the combobox? You also need to set the text length in your TCITEM before sending the TCM_INSERTITEM message.
|
|
|
|
|
Member 12139442 wrote: So please can someone help me on how to get the text string of selection from a combobox and use it to initialize a tab. So which do you need help with? They are mutually exclusive things. If subject1tab contains the correct, expected value, then retrieving text from a combobox has nothing to do with your issue.
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles
|
|
|
|
|
I am trying to build XULRunner from sources, and I am getting a 'Too Many Initializers' error, and I have no idea why.
The code is as follows (Register is a struct):
static MOZ_CONSTEXPR_VAR Register CallTempNonArgRegs[] = { edi, eax, ebx, ecx, esi, edx };
the values in the array are defined earlier in the file (X86Encoding is a namespace, and the values are defined in an enum):
static MOZ_CONSTEXPR_VAR Register eax = { X86Encoding::rax };
static MOZ_CONSTEXPR_VAR Register ecx = { X86Encoding::rcx };
static MOZ_CONSTEXPR_VAR Register edx = { X86Encoding::rdx };
static MOZ_CONSTEXPR_VAR Register ebx = { X86Encoding::rbx };
static MOZ_CONSTEXPR_VAR Register esp = { X86Encoding::rsp };
static MOZ_CONSTEXPR_VAR Register ebp = { X86Encoding::rbp };
static MOZ_CONSTEXPR_VAR Register esi = { X86Encoding::rsi };
static MOZ_CONSTEXPR_VAR Register edi = { X86Encoding::rdi };
The Register struct is defined as follows:
struct Register {
typedef Registers Codes;
typedef Codes::Encoding Encoding;
typedef Codes::Code Code;
typedef Codes::SetType SetType;
Codes::Encoding reg_;
static Register FromCode(Code i) {
MOZ_ASSERT(i < Registers::Total);
Register r = { Encoding(i) };
return r;
}
static Register FromName(const char* name) {
Code code = Registers::FromName(name);
Register r = { Encoding(code) };
return r;
}
MOZ_CONSTEXPR Code code() const {
return Code(reg_);
}
Encoding encoding() const {
MOZ_ASSERT(Code(reg_) < Registers::Total);
return reg_;
}
const char* name() const {
return Registers::GetName(code());
}
bool operator ==(Register other) const {
return reg_ == other.reg_;
}
bool operator !=(Register other) const {
return reg_ != other.reg_;
}
bool volatile_() const {
return !!((SetType(1) << code()) & Registers::VolatileMask);
}
bool aliases(const Register& other) const {
return reg_ == other.reg_;
}
uint32_t numAliased() const {
return 1;
}
void aliased(uint32_t aliasIdx, Register* ret) const {
MOZ_ASSERT(aliasIdx == 0);
*ret = *this;
}
SetType alignedOrDominatedAliasedSet() const {
return SetType(1) << code();
}
static uint32_t SetSize(SetType x) {
return Codes::SetSize(x);
}
static uint32_t FirstBit(SetType x) {
return Codes::FirstBit(x);
}
static uint32_t LastBit(SetType x) {
return Codes::LastBit(x);
}
};
I am using Visual Studio 2015/MSV14 Update 1.
This build is for x86, but it does the same thing for a x64 build (this code is shared for both architectures)
What do you get when you cross a joke with a rhetorical question?
The metaphorical solid rear-end expulsions have impacted the metaphorical motorized bladed rotating air movement mechanism.
Do questions with multiple question marks annoy you???
|
|
|
|
|
Brisingr Aerowing wrote: static MOZ_CONSTEXPR_VAR Register CallTempNonArgRegs[] = { edi, eax, ebx, ecx, esi, edx }; What about:
static MOZ_CONSTEXPR_VAR Register CallTempNonArgRegs[6] = { edi, eax, ebx, ecx, esi, edx };
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles
|
|
|
|
|
Same error. I even tried larger numbers with the same result.
What do you get when you cross a joke with a rhetorical question?
The metaphorical solid rear-end expulsions have impacted the metaphorical motorized bladed rotating air movement mechanism.
Do questions with multiple question marks annoy you???
|
|
|
|
|
|
I found this bug report[^], and it turns out that this is a VS2015u1 compiler bug.
What do you get when you cross a joke with a rhetorical question?
The metaphorical solid rear-end expulsions have impacted the metaphorical motorized bladed rotating air movement mechanism.
Do questions with multiple question marks annoy you???
|
|
|
|
|
Just ran into something I thought was odd today, if you had the following
namespace A
{
enum Things
{
Apple,
Orange,
HamSandwich,
RocketPoweredElephant
};
void Function(Things thing)
{
}
}
namespace B
{
void Function(A::Things thing)
{
}
void Ambiguous()
{
Function(A::Orange); }
}
void main()
{
Function(A::Orange); }
Because one of the parameters is type contained within namespace A, A::Function is being brought into scope, causing an error for the function Ambiguous .
Is this part of the spec or is it some compiler (VS2012) jiggery pokery?
|
|
|
|
|
I assume it's part of the spec, based on the following error messages:
AConsole.cpp
1>c:\users\richard\documents\visual studio 2010\projects.c++\aconsole\aconsole\aconsole.cpp(98): error C2668: 'B::Function' : ambiguous call to overloaded function
1> c:\users\richard\documents\visual studio 2010\projects.c++\aconsole\aconsole\aconsole.cpp(91): could be 'void B::Function(A::Things)'
1> c:\users\richard\documents\visual studio 2010\projects.c++\aconsole\aconsole\aconsole.cpp(83): or 'void A::Function(A::Things)' [found using argument-dependent lookup]
1> while trying to match the argument list '(A::Things)'
|
|
|
|
|
It's Argument Dependent Lookup (ADL) also known as Koenig lookup. It's invaluable when you're trying to define operations on a type in a namespace using functions in that namespace. Say you have:
namespace N
{
class A
{};
friend A operator+( const A &, const A& );
}
A a, b;
auto c = a + b;
if the compiler didn't know to look for the operator in the namespace A was declared in you wouldn't be able to use operator functions in namespaces that easily. It would be a particular headache for <, << and >> which are required by chunks of the standard library.
|
|
|
|
|
Super. I've probably got operator functions around that work because of this, I've just never noticed or thought about it before.
|
|
|
|
|
Hi, I have two processes running on a system. One process is of socket based connection type and another process is of a serial based connection type. Here the requirement is the information provided by one process should be sent across to another process based on which it will perform some action.
Could anyone please let me know a suitable solution for this in vc++ and if any example project for the same. Thanks in advance.
|
|
|
|
|
Examples of IPC include:
Sockets
Clipboard
COM
Pipes
Data Copy
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles
|
|
|
|
|
I've had to do this many times, and have found the easiest way is to use (global) named pipes. The process that does the word opens the pipe server, and just waits for a message to come through. Any processes that need an action to be preformed then open a client pipe, and sends all the data through. This system even allows for duplex messaging, so the server can send a response and/or the results of the processing back to the caller if required.
The Microsoft Devcenter explains it all pretty well, with examples, here[^].
|
|
|
|
|
Hi
I have been getting an internal compiler for a "for(;;) statement I simplified it as much as possible till it looks like this
for (; i >= 0; i--, j--)
and I still get the error the code compiles in debug mode
thanks
|
|
|
|
|
Please show a few lines of code either side, plus the exact code that produces the error, and the exact and complete message.
|
|
|
|
|
Jochen was right on qeue I put a pragma for optimize off
Around the code and it was able to build
|
|
|
|
|
When it compiles in debug builds, the compiler gets stuck during optimisation.
See also the MSDN Fatal Error C1001[^]. It suggests to disable optimisation for the function or rewrite the code.
With older VS versions I had such errors a few times and solved them always by re-ordering some code lines. As you already noticed, reducing (simplifying) the code may not help. Instead it might help to add code lines.
|
|
|
|
|
Thanks so much that did it I put pragma for optimize off
|
|
|
|