|
Just make sure they have the right MSXML DLL that your app is using I think!?
Rickard Andersson8
Here is my card, contact me later!
UIN: 50302279
E-Mail: nikado@pc.nu
Interests: C++, ADO, SQL, Winsock, 0s and 1s
|
|
|
|
|
I did a little research on what MS had to say and they have instructions for redistribution with the msi files .
there are two methods of doing it
1. using the Visual studio enterprise tools installer
or
2 . using cab files .
I tried the first methods and seems stargithforward
all it does installs
msxml4.dll
msxml4r.dll
in the %windir%\system32
folder
|
|
|
|
|
Hey i've been trying to get drag and drop to work with my own data (had it working with text) i think i'm getting confused with pointers, here my lastest try, this is in a listview using WTL and the drag and drop classes from code project
DragData dragData;
.. get data from selected items and add it to dragData ..
..
medium.hGlobal = GlobalAlloc(GMEM_MOVEABLE, sizeof(dragData));
DragData *pMem = (DragData *)GlobalLock(medium.hGlobal);
(*pMem) = dragData;
GlobalUnlock(medium.hGlobal);
I'm not sure whats wrong but it always crashes i think its the (*pMem) = dragData; but i'm not sure why, i've tried many different way, sometimes i got it not to crash but then the data is never at the 'drop' end.
thanks for any help, been annoying me for awhile now, cya
Luke.
|
|
|
|
|
Hi,
I think you are right, when you think it`s the line (*pMem) = dragData.
Try this one instead : pMem = &dragData;
The difference is pMem is the address of some storage, which may be assigned.
(*pMem) is the storage itself, which may not be assigned, unless its a simple type (int, char etc. ) or it's assignment operator is overloaded.
The next thing is, pMem is the storage you get from the system, to put some values in. So my code will crash too.
So use a memory copy function like memcpy(pMem,&dragData,sizeof(dragData) .
I think this will do the job.
G. Steudtel
|
|
|
|
|
In addition to the other suggestion, you should get into the habit of checking return values, especially for dynamically allocated memory.
|
|
|
|
|
I think you ment to
<BR>DragData dragData;<BR>.. get data from selected items and add it to dragData ..<BR>..<BR><BR>medium.hGlobal = GlobalAlloc(GMEM_MOVEABLE, sizeof(dragData));<BR>DragData *pMem = (DragData *)GlobalLock(medium.hGlobal);<BR>
(*pMem)
= dragData;
//try coping memory, instead of passing stack(!?!?!?) variable
::memcpy(pMem, &dragData, sizeof(DragData));
GlobalUnlock(medium.hGlobal);
P.S. what is the reason for using GlobalAlloc?
|
|
|
|
|
Hi Guys
I have an app. that uses a Database and another that update it.
There is an easy way to implement that if the app that updates add a record , the applications that uses knows it? Or I can forget the 'easy' in my sentence?
Best Regards
|
|
|
|
|
Hi,
you should create a customs message and register it via RegisterWindowsMessage.
In the parameters you can hide the table/view as integer and the rowID (if any) as long value.
If you broadcast it via PostMessage(HWND_BROADCAST.....) or post it directly to your application is up to you.
Do not use SendMessage, because this will stop the sending application, till the message is processed.
Hope this helps.
G. Steudtel
|
|
|
|
|
Hi, you've been faster than light!!!!
I'll try it but I think is just what I need.
"Programming Reality is that some people goes in Ferrari and meanwhile I can't open my old car"
Best Regards and thanks.
DrPi
|
|
|
|
|
2 additional comments.
(1) If you want to send more than an integer, you can actually send a string. To do this, you should create an "atom" for the string. See GlobalAddAtom(). The receiver should destroy the atom after he's looked at it.
(2) Since registered messages are global, make sure they are unique. It seems unlikely that your name will clash with any other program. But you never know. We often use a GUID as part of the custom message name.
-p
|
|
|
|
|
Now I load a picture file using OleLoadPicture or OleLoadPicturePath, and I want to put the image to clipboard. but how can I? I've studied the methods of IPicture interface, but could not find anything helpful.
|
|
|
|
|
Can COleServerItem::CopyToClipboard might be of some help ? Create your server and copy your data to the clipboard.
~RaGE();
|
|
|
|
|
Thanks, but my app is an ATL project and no CDocument available
|
|
|
|
|
I am working on a dialog based application and so far so good. I have the first "page" of my dialog app complete. The application is a series of forms. Once the first form is filled out, you hit "next", and it takes you to the next form and so on. What I dont understand is how to go to the next form. Is this done with multiple dialogs or is it done all in the same dialog by hiding varous controls, or some other technique? I looked at Property Sheets and Propert Pages but the application needs to be sequential, and not with tabs showing at the top.
In Windows, if you go to the "Internet Connection Wizard", this is a good example of what I want my application to look like.
I have looked over the articles in the dialogs section and my VC++ 6.0 book, but have yet to find the answer. Could some one get me on the right direction?
Thanks
Kevin Shaffer
Student of Computer Science
University of Kansas
kshaff03@msn.com
|
|
|
|
|
Property Pages and Property Sheets are what you are after.
Use the PSH_WIZARD97 or PSH_WIZARD flag (::SetWizardMode())to operate the dialog in wizard mode. This will make your pages acts like the "Internet Connection Wizard" dialog you mentioned.
"Wise men talk because they have something to say; fools, because they have to say something."
Plato
|
|
|
|
|
I forgot to comment on one of your queries.
Each page of the wizard does indeed have a separate dialog resource, which is associated with a CPropertyPage class. These pages are then appended to the main CPropertySheet for sequential display (if in Wizard Mode).
"Wise men talk because they have something to say; fools, because they have to say something."
Plato
|
|
|
|
|
That was exactly what I was looking for. Thanks
Kevin Shaffer
Student of Computer Science
University of Kansas
kshaff03@msn.com
|
|
|
|
|
I have a dialog in my MFC app with a toolbar. Each button has an icon with text underneath. On one button click I want to toggle the dialog state, and show different text on that button.
I've got it working with SetButtonText, but my buttons resize themselves automatically when this functions is called. I'd like to set my button widths to the widest value initially and have them stay that way, so it looks like only the text is changing.
Does anyopne know how to stop the buttons resizing themselevs?
Dan
|
|
|
|
|
Hi,
I konw this is a very stupid quetion, i am so confused at this moment.
Is a binary file a sampled file?
I mean when i have a binary file do i need to sample it again? Or i just take it a an already sampled file in VC++.
Thx
F.K
|
|
|
|
|
flora_k wrote:
Is a binary file a sampled file?
What do you mean by sampled file ?
Maximilien Lincourt
For success one must aquire one's self
|
|
|
|
|
If the binary file contains data, you may have sampled data
in the binary file. How are you getting your data? How often are you sampling it? You should know a bit about the data as well - is it voltage vs. time, height vs. position...?
I don't know exactly what you are doing, but I will give you a brief
explanation of data acquisition and hope that clears your confusion. I am not sure what type of data you have exactly, but that shouldn't matter.
Data sampling is generally an attempt to take discrete samples (or data) of a 'continuous' function. Sampling is generally done at some
regular spacing or interval (ie: frequency). In order to avoid the problems of 'undersampling' (taking too little) or 'oversampling' (taking too much) data is usually obtained at the Nyquist frequency. This helps to avoid trouble later on.
Anyways, the whole goal is to obtain an approximation to a continuous function by taking (sampling) data at discrete and regular intervals. Thus you have an approximation to the function on which you can perform various operations, statistical analysis, Fourier analysis, the list goes on...
Hope that helps...
|
|
|
|
|
Hi,
Thanks for the explantion on sampling, i get it clearer now.Here is the situation. I have created a binary file in Matlab (very simple) and i am using that binary file in my C code via an appropriated interface.
I have a sampling rate,but i wanted to know if i have to sampled that binary file with the specification i got or it is already sampled(?) somehow.
Thx
P.S: It sounds confusing because i am interfacing matlab in VC ++
F.K
|
|
|
|
|
Are you trying to read the data from the Matlab file
into vc++?
I guess what I mean is that you have sampled data in a Matlab
binary file and you would like to get at the rows and columns,
right?
You would like to convert from Matlab binary to floating point in vc++?
For example from binary to something like:
time Voltage
0 7
1 6
2 5
3 4
4 3
5 2
6 1
7 0
Is that correct?
|
|
|
|
|
A binary file, unlike an ASCII file, contains more than plain text. And if it is sampled or not depends on the program that created that file. If you would have a normal text file you could open it with notepad, for example, and see what it contains. But with a binary file it is much more difficult to know...
Sampling, in DSP is a way to describe a signal that you are sending or receiving. Using filters you take away noises that don't belong to the signal. To get that noise away you many times do Fourier Transforms so that you see the signals frequencies.
jhaga
CodeProject House, Paul Watson wrote:
...and the roar of John Simmons own personal Nascar in the garage. Meg flitting about taking photos.Chris having an heated arguement with Colin Davies and .S.Rod. over egian values. Nish manically typing *censur*. Duncan racing around after his pet *c.* Michael Martin and Bryce loudly yelling *c.* C.G. having a fit as Roger Wright loads up *c.* . Anna waving her *c.* and Deb scoffing chocolates in the corner.
...Good heavens!
|
|
|
|
|
In one of the projects that I'm working on, whenever I open the workspace, the IDE can't remember/open the files I was working on the last time. I get a message "Not all of the windows in the workspace could be opened" or something, and of course none of the windows (files) that I was working on the last time are open. This happens only in this one project, all others are fine. Since I need to keep several files open at the same time, it's a hassle trying to remember where I was and what files were open each time. It's driving me nuts. Is there anything I can do to correct it?
I'm using VS6, SP5.
Thanks.
Regards,
Rohit Sinha
Do not wait for leaders; do it alone, person to person. - Mother Teresa
|
|
|
|