|
hemouse wrote:
It seem that the program's interface can't updated until this long task has finished,
what shoud I do in such case?
As I posted, I suggest, updating not via timer, but polling data from a queue in another thread. Maybe it helps if you read my code, I have troubles with painting, so we could exchange our projs. But only if you sware not to laugh about me and my coding "style" !
Forget the email I sent yesterday, I'm on track about your question again!
|
|
|
|
|
Hi, as the title. Can you give me a sample or some links? Thank you.
More details:
FlexGrid binds to a Recorderset, which opened with SQL cmdText not table. How can I performance this?
|
|
|
|
|
Kamp Huang wrote:
Did anybody ever use MSFlexGrid control in VC++ before?
Yes, it sucks - next question....
Seriously you can't *bind* a flexgrid to a recordset, you need to go through and copy the data into the grid.
Save yourself some grief and download Chris Maunders most excellent grid control instead. You'll still need to handle copying data into and out of the grid, but it is a LOT nicer and more flexible.
Christian
I have come to clean zee pooollll. - Michael Martin Dec 30, 2001
Sonork ID 100.10002:MeanManOzI live in Bob's HungOut now
|
|
|
|
|
Copy the datas one by one?
|
|
|
|
|
Kamp Huang wrote:
Copy the datas one by one?
Yes, I've not seen any samples that auto fill a grid for you. If I'm wrong, please correct me, but I've never seen it happen by itself.
Christian
I have come to clean zee pooollll. - Michael Martin Dec 30, 2001
Sonork ID 100.10002:MeanManOzI live in Bob's HungOut now
|
|
|
|
|
I've never found that too. Thanks for your reply. It seems that I'd better shift back to DataGrid control.
|
|
|
|
|
See my sample on MS Data Grid, That Auto fills data for you.
http://www.codeproject.com/useritems/msdatagrid.asp
MS Data Flex Grid is used with ODBC and non OLE DB data sources. MS Data Grid is used for OLE DB data sources.
|
|
|
|
|
Thanks, I've read your excellent article before. But there is a strange thing in DataGrid. When I called SetRow() method, I failed set to the row that existed but not visible in current scroll range. Do you know why?
|
|
|
|
|
I am also facing the same problem of not able to see the data in the current scroll range but with MS Flex Grid. Did u get any solution for this.and if naybody knows it please reply back.
Thanks
Chitra
|
|
|
|
|
This sample uses the MS FlexGrid
http://www.codeproject.com/database/isqlado.asp
|
|
|
|
|
Thanks a LOT!
|
|
|
|
|
I have another stupid question now. I've downloaded this sample and traced it. but I can't find where the code of putting data into the FlexGrid. I also know that the methods, SetTextMatrix() and SetText(), which can performance that job. But how the sample does that without those methods?
|
|
|
|
|
Appreciate any guru's comments and advise on the feasibility of my intended project.
I have a DOS-based application program that interacts with an piece of equipment through COM1. I would like to write a program to peek at the serial data going in/out of COM1 and send them to a remote terminal using TCP/IP.
There is a utility on the Internet called TCPCOM, but that requires a Y-cable to loop COM1 into COM2.
My questions are:
1. Can I open the serial comm port in VC++ when the COM1 port is already in use by the DOS app?
2. Will the Opening of the serial comm port cause a momentary break in COM1?
3. What if the application is Windows-based? Is it possible for 2 windows apps to share a COM port?
Regards
|
|
|
|
|
Go to sysinternals.com and download the free utility, portmon. It's very good, and might even suit your needs on it's own.
the description of portmon on that site tells you how they implemented it. the source might be available for download, i'm not sure (some of their tools have source, some don't)
Sorry to dissapoint you all with my lack of a witty or poignant signature.
|
|
|
|
|
Something like that, but I need to send all the bytes to the remote terminal over an IP network.
Using mirroring software like Carbon Copy, PCAnywhere, etc is inadequate as they would limit one local PC to one remote terminal. Furthermore, my company's IT Dept disallow the use of such products.
So I really hope someone can provide some guidance.
Thanks.
|
|
|
|
|
et wrote:
1. Can I open the serial comm port in VC++ when the COM1 port is already in use by the DOS app?
No, you can't opena com port if it is in use by another program, that includes a DOS program.
The way to peek at data is to rcv (pin 3) to a new plug. You can then open the new COM port without affecting the original line. I assume this is what you mean by Y cable.
Normski. - Professional Windows Programmer
|
|
|
|
|
Hi,
I have two application which need to communicate though a dll (one application is written in C++, the other in Java). The Java application makes calls to the dll through its native interface. My problem is the following:
The dll has to transmit data (just a string and a float) to my C++ application which should immediately react. I use a shared data segment in my dll. The data which has to be transmited is first stored in that data segment, and then my C++ application periodically looks if something in the shared data segment is waiting. This is not so elegant and also my C++ application doesn't immediately react since it only does polling.
What is the best way to proceed? Should I use a PostMessage to announce that there is data waiting? And in that case will my C++ application immediately be able to react? (the C++ application is just a dialog doing nothing if no button is pressed). Or can the data directly be transmitted in a PostMessage? (there's just a string and a float to transmit).
Should you have some good idea, please let me know
Thanks
|
|
|
|
|
Hmm, there are a couple things that i can think of anyways.
If you have the DLL working in both projects already with shared memory, you can either poll a variable in your c++ code (a byte set to 0 for no-change or haschange). You can do this as little as once a second or in a tight loop depending on your needs. Not generally a good idea though, so i recommend:
Sending a windows message with PostMessage/SendMessage.
PostMessage is will return as soon as the message is dispatched, sendmessage waits for recipt confermation. Only use sendmessage for intra-process for deadlock reasons. So your left with PostMessage.
you can PostMessage an address in the DLL, or simply use the fact that the message has been sent to check pre-defined areas in the DLL. Either way is a good way of going.
Post/sendMessage can only send two 32-bit numbers, so you cant send a string. You could try packeting through the message pump, but thats just plain silly.
// Rock
|
|
|
|
|
There are some other (more efficient) methods too: Events, Pipes, Mailslots, etc.
Simplest solution is to prepare the data and raise an event. The receiving DLL will WaitForSingleObject/WaitForMultipleObjects on that event. And then requests/reads the data.
No polling, no SendMessage/PostMessage. Additionally you can secure the communication by using object level security.
At the same time you gain also real synchronization between sender/receiver.
|
|
|
|
|
Thanks for your kind help, I got it to work correctly
|
|
|
|
|
Hi,
I've allowed my MDI application to have a web browser by using the CHtmlView class. A problem I am having is that when a web page launches a seperate window it is started outside my application in Internet Explorer, which isn't so much of a problem. The major problem is that if I log in to my account on this site and then an extenal window is launched it loses it's cookie and says the session has timed out. Do I need to set a cookies directory or something?
Thanks
|
|
|
|
|
anyone? please????
|
|
|
|
|
Can someone tell me if a problem i seem to be having(if it is a problem) is a problem? When i
Allocate and reAllocate and the memory grows in size, i can't downsize the allocated memory when it's no longer needed.
Meaning...If i start at 8 bytes and it grows to 32...no matter how i call
ReAllocate, even if i specify the size as 0 it stays at the last size According to GlobalSize anyways...
Is this a problem...?
TIA
"An expert is someone who has made all the mistakes in thier field" - Niels Bohr
|
|
|
|
|
According to MSDN, GlobalRealloc should not be used, for reasons of speed as much as anything, unless you're doing something with DDE or the clipboard.
Generally speaking ( assuming you're not using DDE or the clipboard ), you should prefer the C++ memory management functions unless you're programming in C.
Christian
I have come to clean zee pooollll. - Michael Martin Dec 30, 2001
Sonork ID 100.10002:MeanManOzI live in Bob's HungOut now
|
|
|
|
|
I have dialog base application(MFC).
I want my dialog be hidden.when I use:
showwindow(SW_HIDE);
nothing happend??
I also use this in InitInstanc():
CDlg dlg;
m_pMainWnd = &dlg;
m_pMainWnd->ShowWindow(SW_HIDE);
but run time error happen???
|
|
|
|