|
I created a metafile that creates a bitmap file and saves it to disk. A regular program like MSPaint has no problem opening the file. However, when i try to display the bitmap i created in my own program, it simply won't display it. I have (with an amount of certainty) determined that this is due to the fact that the metafile does not actually save it in bitmap format. It also saves it with a transparent background even though I call SetBkMode and SetBkColor functions. I hope this makes sense.
Thank You
|
|
|
|
|
bkphat wrote:
I have (with an amount of certainty) determined that this is due to the fact that the metafile does not actually save it in bitmap format.
What format is it saving it in then ? If MSPaint can read it, it must be a bitmap, gif or jpg, mustn't it ?
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
thats the funny part. i can save it with any extension and it will still open in MSPAINT.
|
|
|
|
|
The file extension is irrelevant, MSPaint works it out by looking at the file. SO... what are you saving it as ?
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
Hallo,
Last time my query is not clear. first of all thanx to alexander and john r shaw
This is the program in c to communicate with multimeter thro gpib card.
In visual c++6, i made a console application and it communicates ..
then i did the same thing in mfc with some buttons to do action it doesnt communicate .. there is no error in the program but it doesnt work...
Please help me in this regard...
#include <sicl.h>
#include <stdio.h>
main()
{
INST dvm;
double res;
double list[2] = {1,0.001};
/* Log message and terminate on error */
ionerror (I_ERROR_EXIT);
/* Open the multimeter session */
dvm = iopen (“gpib0,16”);
itimeout (dvm, 10000);
/*Initialize dvm*/
iprintf (dvm, “*RST\n”);
/*Set up multimeter and send comma-separated
list*/
iprintf (dvm, “CALC:DBM:REF 50\n”);
iprintf (dvm, “MEAS:VOLT:AC? %,2lf\n”, list);
/* Read the results */
iscanf (dvm,”%lf”,&res);
/* Print the results */
printf (“Result is %f\n”,res);
/* Close the multimeter session */
iclose (dvm);
return 0;
}
thanx in advance
kingsly.
|
|
|
|
|
So what's the problem? I see no error-checking so how do you know which function calls are successful and which ones are not?
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
first of all , Thank you so much David crow.
There is no error in compilation but there is no communication at all(mfc) ..but it works in console application..
The library has some commands like iprintf,iscanf...is there we need any change in command or we need to do something...
because i can see the commmunication only, when i send a value to the amplifier or i recieve or the print the result..
how to do it in mfc..
..
thnx in advance..
mfg,
kingsly
|
|
|
|
|
From the code snippet you've shown, I see no benefit in using MFC. It's not going to do anything for you. When you create a console application that supports MFC, the main reason for doing so is to take advantage of one or more of the non-GUI classes that MFC provides. I just don't see that with what you have provided. Please correct me if I've errored.
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
I am creating an user interface, in that i will set & recieve the value to the amplifier..My main aim is to do in mfc ...thats why i dont how to make it work the same program in mfc..
thanx david for taking time in this...
waiting for the reply,
mfg,
kingsly.
|
|
|
|
|
I/O to a console window is done using cin/cout if using C++, or scanf/printf if using C. MFC does not provide anything useful for this, unless you are creating a GUI application.
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
so we cant do this project in mfc .. or we have to do piping(console to mfc)
ur suggestion...
mfg,
kingsly
|
|
|
|
|
Assariah kingsly wrote:
so we cant do this project in mfc
Of course you can, but there's nothing in the code snippet you've shown that would benefit from it. A lot of the classes offered by MFC are GUI-related. There are a some, however, that aren't. For example:
CString
CFile
CDatabase
CCriticalSection
CSocket
CTime
CList See here.
Have you tried using MFC's AppWizard to create a dialog-based application?
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
can you tell the way search engines find certain file types over the net
I wasn't able to find .mdb files over the net or database files in general. Can you help me with this issue or tell me a good search engine ?
gabby
|
|
|
|
|
Unless a page actually references the .mdb file by name, a search engine won't find it.
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
I am using :
#import "msxml4.dll"
using namespace MSXML2;
in my project. I want to create an XML file and read data from a separate XML file.
MSXML2::IXMLDOMDocumentPtr pIXMLDOMDocument;
MSXML2::IXMLDOMProcessingInstruction *pIXMLDOMProcessing =NULL;
MSXML2::IXMLDOMNode *pNode;
I am getting a compiler error 2660 MSXML2::IXMLDOMNode::appendChild does not take 2 arguments.
I believe that there is something wrong with the namespace that i am using..
Can anyone provide any assistance? I am on a windows 2000 system with msxml 4 sdk
Below is how i use the functions:
pIXMLDOMDocument->createProcessingInstruction("xml", "version=""1.0""", &pIXMLDOMProcessing);
pIXMLDOMDocument->appendChild(pIXMLDOMProcessing,&pNode);
I got this example straight from the SDK. Not sure why it won't build.
Thanks
|
|
|
|
|
LCI wrote:
createProcessingInstruction("xml", "version=""1.0""", &pIXMLDOMProcessing);
Your quote-escaping is wrong, use \" not ""
createProcessingInstruction("xml", "version=<font color=blue>\"</font>1.0<font color=blue>\"</font>", &pIXMLDOMProcessing);
--Mike--
Visual C++ MVP
LINKS~! Ericahist | 1ClickPicGrabber | CP SearchBar v2.0.2 | C++ Forum FAQ
Strange things are afoot at the U+004B U+20DD
|
|
|
|
|
Thanks for that... my error there..
But that still does not stop the compiler from saying that that function does not accept 3 arguments... Somehow, that function is has a different declaration and maybe it has something to do with the namespace. Do you know anything about that?
|
|
|
|
|
The example is using an older version. The prototype is:
IXMLDOMProcessingInstructionPtr createProcessingInstruction
(
_bstr_t target,
_bstr_t data
);
|
|
|
|
|
Hmm.
That seems to have done it. Where can i find documentation on the version that i am using because i have similiar issues with other functions, like appendChild and createElement
I call :
hr = pIXMLDOMDocument->appendChild(pIXMLDOMProcessing,&pNode);
and the compiler complains about appendChild does not take 2 args
and
hr=pIXMLDOMDocument->createElement(BSTR(L"Form"), &pIXMLDOMElement);
and the compiler complains about createElement does not take 2 args
Thanks for any input.
|
|
|
|
|
If you compile your code using an import statement, a file called msxml4.tlh will be generated from the typelib in the debug or release folder. You can see the prototypes in that file.
You can also open the msxml4.dll file in the Visual Studio Object Browser, which makes browsing the defs and prototypes a bit easier.
Cheers,
Tom Archer - Archer Consulting Group
"So look up ahead at times to come, despair is not for us. We have a world and more to see, while this remains behind." - James N. Rowe
|
|
|
|
|
The following image shows what I'm talking about re: the object browser. Here you can see the prototype for the createElement method:
Cheers,
Tom Archer - Archer Consulting Group
"So look up ahead at times to come, despair is not for us. We have a world and more to see, while this remains behind." - James N. Rowe
|
|
|
|
|
Tom thanks, i appreciate very much your responses. I am able to view the function declarations from the msxml4.tli file. My object browser does not seem to show the MSXML2. Maybe it is a setting thing, i dunno.
Now i am adjusting to this new parameter set and a little confused. Maybe you can answer this for me. Why are the .tli declarations so different from the MSXML 4.0 documentation example from microsoft that i was initially using. Is it like a patch to the MSXML 4.0 because in my declaration i do import msxml4.dll and use the namespace MSXML2, but yet my tli file declarations are different from the microsoft example.
Just a little confused..
Thanks again
|
|
|
|
|
LCI wrote:
My object browser does not seem to show the MSXML2
By default, you will only see the libraries in your project. You have to do the following:
- Open the Object Browser
- Click the Customize button at the top of the object browser
- When the Selected Objects dialog box appears, click the Add button
- Select the COM tab
- Select from the list the Microsoft XML 4.0 library and click the Select button
- Click the OK button to dismiss the dialog box
The library should now be viewable in the object browser.
Regarding the documentation, that I can't answer. I've just become accustomed to using the actual header file (or the object browser) to get the "real" prototype.
Cheers,
Tom Archer - Archer Consulting Group
"So look up ahead at times to come, despair is not for us. We have a world and more to see, while this remains behind." - James N. Rowe
|
|
|
|
|
That is very cool...
Thanks for showing me that.
I am now able to continue development but have another question. Just attempting a simple task of trying to write
ThisForm
to an XML file. I wrote the code below, but am stuck at the appendChild line and the line after. Do i really need an IXMLDOMNodePtr?? How would i do it without?
MSXML2::IXMLDOMDocumentPtr pIXMLDOMDocument;
MSXML2::IXMLDOMProcessingInstruction *pIXMLDOMProcessing =NULL;
MSXML2::IXMLDOMNodePtr pNode;
MSXML2::IXMLDOMNode *pNode1 = NULL;
MSXML2::IXMLDOMElementPtr pIXMLDOMElement;
//Put some checks to create directory if not there
_variant_t varString = "C:\\XML\\myXML.xml";
// Initialize pIXMLDOMDocument (create a DOMDocument).
hr = CoInitialize(NULL);
hr = pIXMLDOMDocument.CreateInstance("Msxml2.DOMDocument.4.0");
// Load document.
if (pIXMLDOMDocument->load(varString)!= VARIANT_TRUE)
{
// trace(ERROR,"Error loading XML file");
}
//Populate the xml document
//Create elements
pIXMLDOMElement = pIXMLDOMDocument->createElement(BSTR(L"Form"));
hr = pNode->put_text (BSTR(L"ThisForm"));
if (SUCCEEDED(hr))
{
// Create a processing instruction element.
pIXMLDOMProcessing = pIXMLDOMDocument->createProcessingInstruction(BSTR (L"xml"), BSTR(L"version=\"1.0\""));
pNode = pIXMLDOMDocument->appendChild(pNode1);
pIXMLDOMDocument->putref_documentElement(pIXMLDOMElement);
}
//Save DOM to a file
hr = pIXMLDOMDocument->save(varString);
|
|
|
|
|
It looks like you have several problems here. What exactly are you trying to do?
Cheers,
Tom Archer - Archer Consulting Group
"So look up ahead at times to come, despair is not for us. We have a world and more to see, while this remains behind." - James N. Rowe
|
|
|
|