|
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 ?
|
|
|
|
|
Hi !
Well, what I did was to pass and IStream interface pointer to the ActiveX, I passed it as LPUNKNOWN pointer. Should I use CoMarshalInterface/Co... ( how can I use that ?).
The funny thing is that in the machine where I compile the source it works but in others machines not
About crash, in XP sometimes crashes sometimes gives a message saying that the font is too big ( the stream contains a metafile), in Me it says that there was inconsistence or the operation cannot be done ( something like that).
What I have is:
MyApp |---> Word Automated --> My DLL|
What can I do ? , Thanks a lot Bye !
Braulio
|
|
|
|