|
Thanks Geo,
I'll take a look at things you have mentioned. Also the ReDesigning stuff
Have a great day ahead!
Regards,
Sohail Kadiwala
(My Blog - http://blogs.wdevs.com/sohail/[^])
modified 21-Apr-21 21:01pm.
|
|
|
|
|
I found many examples about DirectoryWatch, FileWatch. I need help regarding the moment of closing of the file. Suppose some operation on the file is going on by some application. I want to add some information at the end of the file but immediately after it is closed by the application. So my application must be able to trace the closing of the file.
Moyeen
Sr. Software Design Engineer
|
|
|
|
|
look @ ReadDirectoryChangesW with FILE_NOTIFY_CHANGE_LAST_WRITE flag set. This is the nearest option I can imagine to help you quite easily.
Problem is that closing the file handle can mean nothing for the underlying filesystem in some situations, and I don't know any API that would allow you go as deep as to file locking mechanism that CAN be influenced by simple file closing (not saying that the behavior of such a functions can be different for NTFS or FAT32 or network drive)
Maybe you can track the file handles directly, but this will need a great experience in low level system programming (although nothing impossible I think) but it can also cause bugs in other applications, because you have to dig in other processes.
|
|
|
|
|
hi all,
As I understood it vectors are bound safe, i.e. you can't go past the end of the vector. However I've found some code which does just that!
the vector is defined as an "vector < vector < int > >" and although when you try to access an out of bound area on the first part you get an error, if you do the same on the second part it allows you. An example is if the first vector has 10 elements (i.e. 10 x vector < int > ) and the second part has 10 elements (i.e. 10 x int). If you do "myVector[i][j] = 6 ;" where i=20 and j=5 then you get a crash, whereas if i=5 and j=20 you don't!
Can anyone tell me if this is standard behaviour or could it be a compiler 'feature' (I'm using MS VC++ 6.0 with (iirc) SP5).
cheers,
Andy
|
|
|
|
|
You must access the vector elements using the at() member function to get bounds checking. Using the [] operator to access out of bounds elements causes undefined behavior.
|
|
|
|
|
Also keep in mind that at() throws on failure. Good to know in beforehand
--
Weiter, weiter, ins verderben.
Wir müssen leben bis wir sterben.
I blog too now[^]
|
|
|
|
|
Can anyone tell how to pass an array from an avent in case of ATL COM DLL.Awaiting for respense eagerly.Plz respond as soon as possible.
Akshay Dave
|
|
|
|
|
use SAFEARRAY
see in MSDN CreateSafeArray and related functions
|
|
|
|
|
Hi Akshay ,
i just adding to real Monkey advice,
just declare the return element VARIANT, and using SAFEARRAY return an array to Client.
-----------------------------
"I Think It Will Help"
-----------------------------
Alok Gupta
visit me at http://www.thisisalok.tk
|
|
|
|
|
Hi Alok,Thanx 4 ur reply.I had tried out 4 what u have suggested.But I think I'm not able to implement VARAINT SAFEARRAY it is giving warning in Proxy file it generates 4 event.It says"Forcing a tagSafeArray value to Bool true
or false".Plz reply me with some codes of VB and Vc if possible.My email-id is avd9683@rediffmail.com.
Awaiting 4 ur reply soon.
AKshay Dave
|
|
|
|
|
Hi Alok, I am in very much need of Safearray related concepts and methodologies because I need much use of it too pass large values from COM Dll to VB in meterological projects and M/c related projects.Plz send me some codes and some URL where I can get get proper conceptual knowledge of SAFEARRAY with code.I'm currently facing difficulty in Passing SAFEARRAY from ATL/COM DLL to VB in an Event.So please help me.I am a memeber of this group by name Akshay Dave.My mail id is avd9683@rediffmail.com,
akshayd@eqqu.com.
Awaiting eagerly 4 ur reply.
Akshay Dave
Akshay Dave
|
|
|
|
|
Sorry Askhay,
i too never used Safarray in Events,ijust read similar comment on any other forum about this. which is working fine.
i think you can brush your knowledge about SAFEARRAY from Inside Atl book.
-----------------------------
"I Think It Will Help"
-----------------------------
Alok Gupta
visit me at http://www.thisisalok.tk
|
|
|
|
|
Hi all,
sorry for this basic question...
I've got a std::list<myclass*> mlist and want to erase several elements.
I thought mlist.erase(iter) deletes the element pointed to by iter.
As this is a pointer, only the pointer should be erased, but the destructor of myclass is also called... Is this the desired behaviour?
Btw. how can I delete only the pointer but not the instance of my class?
I'm using the stl_eVC port for PocketPC
Thanks alot
Stefan
|
|
|
|
|
(Next time, please tick on the "Do not treat <'s as HTML tags" checkbox so that brackets show in your message.)
I've got a std::list<myclass*> mlist and want to erase several elements.
I thought mlist.erase(iter) deletes the element pointed to by iter.
As this is a pointer, only the pointer should be erased, but the destructor of myclass is also called... Is this the desired behaviour?
You should misinterpreting the behavior of your program, since mlist.erase(iter) will only erase the element and not destroy the object pointed to. Are you 100% sure the object is being destroyed, too?
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
Want a Boost forum in Code Project? Vote here[^]!
|
|
|
|
|
Thanks.
I've found the problem... I continued to use iter after erase (which was invalid) and didn't know that erase returns the next element...
Stefan
|
|
|
|
|
Hi,
I'm working on a web service programmed with ATL Server templates and classes. This web service is under testing in a Windows 2000 Server, IIS 5. It's running with high (isolated) application protection (so a new DLLHOST process appears when I make a request to my web service). I've noticed (using Process Explorer) that when an unhandled exception raises, Windows kills all my components in the DLLHOST process, but doesn't kill the DLLHOST process itself (of course, the user owned one, not the system DLLHOST). I just want to know why it behaves like that. Is it not supposed to kill the whole process that produces an unhandled exception?
Thanks,
Federico
|
|
|
|
|
Hi
I am implementing a data structure to insert ( 50000 - 100000 items )and retrive in First in First Out ( FIFO ) order.
Please suggest me which one is the fastest
QUEUE , STACK , LIST , MAP , MULTIMAP or any other
Thanks
Sandeep Naik
|
|
|
|
|
A deque (check the manual) is an ideal structure for this, as insertions and deletions at both ends of the sequence are very efficient (constant time, basically.)
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
Want a Boost forum in Code Project? Vote here[^]!
|
|
|
|
|
Does anyone know how to add a Status bar to a CDialogImpl derived class in an ATL COM EXE ?
Thanks in advance.
shakiru
|
|
|
|
|
My ATL web server is continously loaded and unload. The ISAPI extension fortunately not. Why this happen? I would like to have my web server always loaded because loading it requires many CPU cycles.
Could you please help me?
Best Regards,
Andrea
|
|
|
|
|
Say! If I create an ATL proj in .NET studio there is "References" item in project tree, what is that and how to use it? I mean are they like in C# and VB? If yes - how to use after I add a reference?
|
|
|
|
|
I am not sure of the real meaning of the question, however, if you are trying to use an ATL com server in a ATL project you can use "smart pointers".
Use #import directive in order to import the .tlb table then you can use these magic stuff.
If you have a IFoo intf and Foo coclass:
<br />
MYCOMLIB::IFoo m_foo;<br />
m_foo.CreateInstance (__uuidof (MYCOMLIB::Foo));<br />
m_foo->DoSomething ();<br />
Hope this helps.
Regards,
Andrea
|
|
|
|
|
Hi all,
I need to access a COM object from my ATL web service.
The COM object is propely registered in the target machine and can be freely
accessed from a VB client.
I am using smart pointer in order to create an instance.
When I invoke _com_ptr_t::CreateIntance I get as HRESULT "class not
registered".
What was wrong?
Please help me!!!
best Regards,
Andrea
|
|
|
|
|
Your client computer does not know anything about your COM object, mainly where it is located (this info is taken from the registry).
I have not done it for a long time, but I recall that the correct way to create a component remotely is by using CoCreateInstanceEx() . Look up the MSDN, it should have enough info.
|
|
|
|
|
Thanx a lot,
I found the problem, and this could be interesting for you, too.
My COM dll server was properly registered in a substituted volume (V that does not exists at Windows startup. For some reason this prevents the interface from being accessed in inetinfo processo. Placing my COM dll (ATL COM inproc server, by the way) in %windir%\system32 all works well.
Thanks a lot for your help.
Best Regards,
Andrea
|
|
|
|