|
Override OnUpdate function in the views. Use command routing. After command routing is implemented, pass some unique parameter to the document UpdateAllViews function, which you will use in the OnUpdate function.
Hope this helps,
Deian
|
|
|
|
|
Hi!
I´m trying to create a simple ftp client but I´m having problems creating an instance of the CInternetSession class.
I´ve downloaded an example ftp client that works but I just can´t get my own to work.
Do I have to link the CInternetSession class in a certain way?
I´m using VC++ 6 SP5.
/Jii
|
|
|
|
|
Here is some code i wrote:
void CTransmitView::TransmitReports(CString ftpserver, CString user, CString pass)
{
CInternetSession mySession;
CFtpConnection* pFtpConn = mySession.GetFtpConnection(ftpserver, user, pass);
if (pFtpConn)
{
pFtpConn->SetCurrentDirectory("\\uploads\\");
pFtpConn->PutFile("test.txt", "test.txt");
pFtpConn->Close();
}
----
there is no exception handling in there.. you should add some for CInternetException and some other stuff prolly..
-dz
|
|
|
|
|
You are using a Direct Connection or a Proxy?
You are trying to connect using any Port?
Show any of your code...
Best Regards....
Carlos Antollini.
Sonork ID 100.10529 cantollini
|
|
|
|
|
I'm looking to create a modeless dialog in a dialog based mfc application.
This has to be done by the main dialog on a signal received from a working thread.
I've tried sending an user message and by directly calling a method of the main dialog class; the result was runtime error on release configuration, so i need a better way to communicate between the worker and the main dialog.
I'm waiting for a clue.
rechi
|
|
|
|
|
Could you post some code to see how you've implemented the thing? In principle, sending a message from a worker thread to a dialog to perform some UI operation is OK, so I guess there's hope your approach will work
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
There is nothing special in the code; in fact is really classical:
(in the thread)
((CDialog *)GetOutput())->SendMessage(WM_VIRTUAL_WANTCHAT);
(in the dialog message map)
ON_MESSAGE(WM_VIRTUAL_WANTCHAT, OnVirtualWantChat)
(the method)
void CClientxDlg::OnVirtualWantChat()
{
CChatDlg *dlg=new CChatDlg();
dlg->Create(IDD_DIALOG_CHAT, this);
if (dlg)
dlg->ShowWindow(SW_SHOW);
}
rechi
|
|
|
|
|
- What does
GetOutput exactly do?
- Is the
CClientxDlg blocked in any way as in your previous questions from yesterday?
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
GetOutput returns the pointer to the main dialog window object (CClientxDlg *) and the window is - 100% sure - not blocked.
The facts are: i read a group chat request from a socket in the worker and i have to order the main dialog to create the chatting modeless dialog.
I also have to say that i'm not sure of the problem's origin so, if you find out that it's not this one, i should not be surprised.
rechi
|
|
|
|
|
I've created a test application with a worker that sends commands (WM_USER+1) once in 3 seconds for the main to create modelesses.
It works the first time and fails the second.
Despite this, it's perfect on debuggin' configuration.
So, this remains the problem!
rechi
|
|
|
|
|
Ummm... I think your user-message handler does not have the right signature. Try declaring (and defining) it like this:
afx_msg LRESULT OnVirtualWantChat(WPARAM wParam, LPARAM lParam); And don't forget to tell us back the result Good luck.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Now it runs perfectly!
Thanks a lot!
|
|
|
|
|
// In the following code :
m_app.CreateDispatch("Word.Application")
oDocs = m_app.GetDocuments();
oDoc = oDocs.Add(vOpt, vOpt, vOpt, vOpt);
(...)m_app.Activate();
oDoc.Activate();
// Can i obtain a reference or handle on a picture object in
// my MS Word, by using oDoc ?
Thanks.
|
|
|
|
|
how to implement remote shutdown in Windows NT ??
|
|
|
|
|
There's a utility to do this in the Windows NT resource kit.
Sorry to dissapoint you all with my lack of a witty or poignant signature.
|
|
|
|
|
There's a program called shutdown.exe for doing this, available in the Windows NT resource kit.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Or you can use InitiateSystemShutdown/InitiateSystemShutdownEx.
|
|
|
|
|
Yes, this one works pretty nicely.
Andres Manggini.
Buenos Aires - Argentina.
|
|
|
|
|
Please excuse if this has been asked before,
but i have a handler for when the user clicks on a menu item,
this is the code that i have:
void CTestApp::OnTestMenu()
{
CWnd* pWind;
pWind = theApp.GetMainWnd();
CClientDC dc(pWind);
dc.TextOut(200,200, "Hello World");
}
This works fine, but it doesn't repaint the screen if it gets covered.
I guess what my question is, do i need to create a Global Device Context that i write to from different parts of my app and then paint this to the screen in my OnDraw() ?
Thanks
|
|
|
|
|
In Windows you need to implement your drawing code in handler of WM_PAINT message. In MFC this will be OnDraw if you're CView-derived class or OnPaint otherwise.
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
Hi,
I have a DLL, that I called from a different proccess space ( I run it in an automated instance of word, and I get control to it from my application).
I pass an LPUNKNOWN pointer to pass one stream with one metafile, the problem comes when I try the DLL in a computer where I haven´t build the project with Visual Studio, then my dll crashes when passing that parameter.
How can I fix that ? ( is there some extra file or registry thing, instead of LPUNKNOWN maybe LPIDISPATCH ?, or merging proxy stub ? ( how to do this manually...) ?
Thanks, Bye !
Braulio
|
|
|
|
|
Braulio, explain better your problem ...
You are using two computers, eg. try to call the dll from another computer ?
You registered properly the dll ?
Merging the proxy/ stub normally isn't necessary if you are using type library ,marshaling, I presume you are, because you are using automation, and using automation requires automation compatible parameters , eg . passing IDispatch pointers to world ...
Joao Vaz
|
|
|
|
|
Hi Joao !, Nice to meet you again !
I´m still working on the Ms Word thing... ( I have my ATL ActiveX control in a DLL, then Ms Word automated, and my MFC application that controls that Ms Word app).
I've a method defined in an interface to pass the Metafile to the ActiveX, that method has as a parameter an LPUNKNOWN ( later I make a QI to IStream), should I pass IDisptach pointers instead of IUnknown ?.
The problem that I have is that the call to this method only works in the computers where I have compiled the DLL. If not, when I call the method it fails ( just crashes, or gives me a message saying that something is going wrong).
I register the DLL calling this "regsvr32 MyDll.dll", did I missed any parameter ?.
My idea was to generate the Proxy/Stub DLL ( merged in my DLL), to call the methods, is that a good idea ?
Thanks a lot Joao, Bye !
Braulio
|
|
|
|
|
Just one stupid question... I don´t need to copy or register the TLB of my DLL isn´t it ? ( is only to build the object that uses it isn´t it ?).
Where can I find a list of automation compatible parameters ?
Thanks, greetings
Braulio
|
|
|
|
|
The automation marshaler works with VARIANT compatible types ( VT_BSTR, VT_I4, etc). If you want to make cross-apartment calls in your app you can use the automation marshaler or generate and register a proxy/stub for your interfaces ( don't pass pointers to interfaces from one apt. to another, use CoMarshalInterface / CoUnmarshalInterface ).
Do you have any COM related messages when your app crashes, or just an access violation exception ?
|
|
|
|