Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 328
  • Last Modified:

VB6 Outlook banner page

I have a VB6 program that I have written that read the inbox of a profile that i have setup in Outlook.  It is a corporate email system I might mention as well.

Anyway, when I open the Outlook appliclation via the program there is what I would call a banner page of sorts.  It is something that is specific to the corporation that I work for.  Either way, when I close the Outlook application via my program the banner page is still active and will cause a read of memory error.  If by chance I close the pop up banner page during the execution of my program it will not have this problem.  Is there anyway to stop the banner page from opening up or close it via my exe so I don't have the reading of memory error?

There is a ok button that can be clicked to close the banner but how do I go about doing that via the program?

Thanks

0
brake4blonds
Asked:
brake4blonds
  • 5
  • 5
1 Solution
 
Rob_JeffreyIT/ProgrammingCommented:
How are you closing the Outlook application via your program?
Are you sending the windows message WM_Close?
0
 
brake4blondsIT AnalystAuthor Commented:
When I close the outlook application I do the following:

appNameSpace.Application.Quit
app.Application.Quit
app.Quit

Then I set them to nothing

set appNameSpace = nothing
set app.Application.Quit= nothing
set app = nothing

Then I return back to main() and then I get the error.
0
 
Rob_JeffreyIT/ProgrammingCommented:
Can you run a delay of sorts between calling the close and setting to nothing?
Perhaps the close is taking longer?
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
brake4blondsIT AnalystAuthor Commented:
I figured it out.  

There was a set statement where I was release a part of memory that was there anymore anyway so when I tried to set it to nothing it was throwing the error.
0
 
brake4blondsIT AnalystAuthor Commented:
Well, I thought that was it...hmmmm...
0
 
Rob_JeffreyIT/ProgrammingCommented:
Is your program trying to get the current number of emails?
If it is a pop3 server take a look at this ->http://vbaccelerator.com/codelib/submit/e-checker.zip
(This would mean a re-write of the code - but it works fine)

This method of closing the application is alien to me so I am afraid I am not much help.
0
 
brake4blondsIT AnalystAuthor Commented:
It is not a pop3 server but an internal exchange account for the company that I am working for.  

The Outlook application is on the server and my local PC.  

Once the program opens the Outllook in the background (visible=false), it runs fine as far as reading, marking as read, and moving to another subfolder.  It is just when I close the application that I get the memory error.  I am not sure if it is because of the flash banner that is visible or there is something else that is going on.  

If there was a way to surpress the banner page and/or close it before I quit the application I may be able to get around the problem.  This is what I really would like to know how to do more than anything.  I was thinking that I would be able to do this be send keys or something but I am not sure that it would be possible in this particular case.



0
 
Rob_JeffreyIT/ProgrammingCommented:
If you know the hWND of the app you can use:

Delare Function PostMessage& Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any)
Const WM_CLOSE = &H10

res = PostMessage(hwnd, WM_CLOSE, 0&, 0&)

This is the only way I know how to close an application - I've never used remote scripting.
It sounds like you still have an object referencing a closed object - so as soon as it goes out of scope you get a memory leek.
If you don't have the hWND take a look at:
http://www.experts-exchange.com/Programming/Programming_Languages/Visual_Basic/Q_21408260.html?query=WM_Close&topics=93
If you know the title of the window.
0
 
brake4blondsIT AnalystAuthor Commented:
That worked.  No longer getting the memory area.  This allowed for the flash window to be closed and didn't receive the memory error.

Thanks
0
 
Rob_JeffreyIT/ProgrammingCommented:
Awesome!

Glad I could help.
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

  • 5
  • 5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now