Creating a MS Outlook 2010 mail message from Powerbuilder only works when Outlook is closed

I am using Powerbuilder 11.5 and have updated the code to handle MS Outlook 2010.

The code used to work fine with earlier versions of Outlook and allowed the user to send emails from Powerbuilder with either Outlook running or not running, but does not work now since the Outlook version change when Outlook is running.  The code works fine when Outlook is not running.

updated version not working when Outlook open

previous working version of Outlook

The code is as follows;

OLEObject myoleobject, db, doc, rt_item, loo_ol_msg_cast

myoleobject = CREATE OLEObject
//  loop for two minutes, or until notes is started successfully
t_StartTime=Now() //wait 2 min for Notes to load ...
	Yield()	//yeld control occasionally
	iResult = myoleobject.ConnectToNewObject("outlook.application")	
	If iResult = 0 Then Exit	//OK, Outlook is active
Loop Until SecondsAfter(t_Starttime, now()) > 120	//try again in #sec

if iResult <> 0 then
	f_user_error("Could not open Microsoft Outlook")
	return FALSE
end if

loo_ol_msg_cast = myoleobject.CreateItem(0)

Open in new window

The code fails on the above line (CreateItem) when MSOutlook is running
This works fine when MSOutlook is closed - the mail is generated and sent

I cannot find what is needed to allow a new mail to be generated when MS Outlook is open - I would be really grateful for any assistance - thanks Wingmanshaks
Who is Participating?
virtuadeptConnect With a Mentor Commented:
Hm. That looks like correct syntax for OLE integration. I tried an example that was very similar and it worked, PB 11.5 and Outlook 2010.  Maybe it is something messed up in the registry?

What error is it giving back?
Just checking if that previous answer was helpful or not?
Carson LuzHoxsieCommented:
Use the following if Outlook is not running.

If Outlook is already running, use

Normally, check if Outlook is running first using ConnectToObject("outlook.application"), if not, use ConnectToNewObject("outlook.application") to start it.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.