Solved

Memory doesnt freed on Destroying the COM objects.

Posted on 2001-06-20
8
274 Views
Last Modified: 2013-11-25
I'm using a COM Object in Visual Basic. Following statement is not removing the allocated memory for that object.
set objCOM = nothing

This memory is freed up only when I close the Visual Basic application. COM Interface was developed using C++ and I'm caling those objects in Visual Basic.

Is it the VB Problem or problem in COM Interface creation in C++?

Please Help. THanks in Advance.

Raju
0
Comment
Question by:kbalaraju
8 Comments
 
LVL 8

Expert Comment

by:Dave_Greene
ID: 6212089
I would look at the COM Component first.  Doesn't sound like a VB issue, unless you still have a reference to the component when you are trying to kill it...
0
 
LVL 5

Expert Comment

by:gbaren
ID: 6212094
There is probably something missing in the destructor of the C++ class.
0
 
LVL 15

Expert Comment

by:ameba
ID: 6212538
Last 10 Grades Given:  A C B C C C A C C C
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 100

Accepted Solution

by:
mlmcc earned 100 total points
ID: 6212820
I would agree with gbaren.

I teach and use C++ in addition to VB.  If the C++ object is not releasing the memory when it is no longer needed you would have the problem.

How do you know the memory isn't released?  It may be being release but improperly so the system doesn't know it is free until the VB app is done.

Does the C++ COM object have a destroy function you can call?  How do you create the COM object?  The destructor s probably called by putting a ~ in front of the C++ object creator.

good luck
mlmcc

ameba
If you don't like the way a person grades don't comment on his questions.  There may be reasons for the grades.

0
 
LVL 15

Expert Comment

by:ameba
ID: 6212863
mlmcc, using your logic:
If you don't like my report, do not comment it.  There may be reasons for my reports.
0
 
LVL 15

Expert Comment

by:ameba
ID: 6212891
I would check if this happens on a form with one instance of the 'accussed' object.

' Form1 code
Option Explicit

Private Sub Form_Click()
    Form2.Show vbModal    ' show test form
    Set Form2 = Nothing
End Sub
0
 
LVL 1

Expert Comment

by:Moondancer
ID: 6858383
Question(s) below appears to have been abandoned. Your options are:
 
1. Accept a Comment As Answer (use the button next to the Expert's name).
2. Close the question if the information was not useful to you. You must tell the participants why you wish to do this, and allow for Expert response.
3. Ask Community Support to help split points between participating experts, or just comment here with details and we'll respond with the process.
4. Delete the question. Again, please comment to advise the other participants why you wish to do this.

For special handling needs, please post a zero point question in the link below and include the question QID/link(s) that it regards.
http://www.experts-exchange.com/jsp/qList.jsp?ta=commspt
 
Please click the Help Desk link on the left for Member Guidelines, Member Agreement and the Question/Answer process.  http://www.experts-exchange.com/jsp/cmtyHelpDesk.jsp

Please click you Member Profile to view your question history and keep them all current with updates as the collaboration effort continues, to track all your open and locked questions at this site.  If you are an EE Pro user, use the Power Search option to find them.

To view your open questions, please click the following link(s) and keep them all current with updates.
http://www.experts-exchange.com/questions/Q.20138939.html
http://www.experts-exchange.com/questions/Q.20270886.html




PLEASE DO NOT AWARD THE POINTS TO ME.  
 
------------>  EXPERTS:  Please leave any comments regarding your closing recommendations if this item remains inactive another seven (7) days.  Also, if you are interested in the cleanup effort, please click this link http://www.experts-exchange.com/jsp/qManageQuestion.jsp?ta=commspt&qid=20274643
 
Thank you everyone.
 
Moondancer
Moderator @ Experts Exchange

P.S.  For any year 2000 questions, special attention is needed to ensure the first correct response is awarded, since they are not in the comment date order, but rather in Member ID order.
0
 

Author Comment

by:kbalaraju
ID: 6858454
THanks for all your help. I couldnt fix the problem but thanks for responding.
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Article by: Martin
Here are a few simple, working, games that you can use as-is or as the basis for your own games. Tic-Tac-Toe This is one of the simplest of all games.   The game allows for a choice of who goes first and keeps track of the number of wins for…
Whether you've completed a degree in computer sciences or you're a self-taught programmer, writing your first lines of code in the real world is always a challenge. Here are some of the most common pitfalls for new programmers.
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

713 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question