Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
VFP9 compiler
Message
From
01/05/2024 15:57:02
 
 
To
01/05/2024 13:02:13
General information
Forum:
Visual FoxPro
Category:
Third party products
Title:
Miscellaneous
Thread ID:
01687432
Message ID:
01687967
Views:
55
Hello Tamar,

Here is the revised code.
lContinuer = .F.
oOutlook = CREATEOBJECT("Outlook.Application")
IF VARTYPE( oOutlook) = "U"
	DO FORM ts_Messagebox WITH I("Outlook must be running")
	oOutlook = null
	RELEASE oOutlook	
	QUIT 
ELSE 
	oMapi = oOutlook.GetNamespace("MAPI")
	outlookAccounts = oMapi.Accounts
	FOR i = 1 TO outlookAccounts.Count
	    IF outlookAccounts.Item(i).DisplayName = "anemail@mycompany.com" THEN
			lContinuer = .T.
	        EXIT
	    ENDIF
	ENDFOR
	outlookAccounts = null
	RELEASE outlookAccounts
	oMAPI = null
	RELEASE oMAPI

	IF !lContinuer
		DO FORM ts_Messagebox WITH I("You can't use the application.")
		oOutlook = null
		RELEASE oOutlook	
		quit
	ENDIF 
ENDIF 
oOutlook = null
RELEASE oOutlook	
Even after the adjustments I have the same problem. Couple of things to mention though. If I run my code through the debugger First execution runs ok. but after that I have to reboot my computer. If I run through compiled app the message "You can't use the application." is not even shown. and after the non-message I have to reboot my computer if I want to run that code again.


>>Hi Tore,
>>
>>Thanks for the reply but I still have the same problem
>>
>>Here is the revised code
>>
>>
>>lcontinue = .F.
>>oOutlook = CREATEOBJECT("Outlook.Application")
>>IF VARTYPE( oOutlook) = "U"
>>	Messagebox( "Outlook must be running")
>>	oOutlook = null
>>	RELEASE oOutlook	
>>	QUIT 
>>ELSE 
>>	outlookAccounts = oOutlook.GetNamespace("MAPI").Accounts
>>	FOR i = 1 TO outlookAccounts.Count
>>	    IF outlookAccounts.Item(i).DisplayName = "SomeEmail@mybusiness.com" THEN
>>			lcontinue = .T.
>>	        EXIT
>>	    ENDIF
>>	ENDFOR
>>	outlookAccounts = null
>>	RELEASE outlookAccounts
>>
>>	IF !lcontinue
>>		Messagebox( "You can't use the application.")
>>		oOutlook = null
>>		RELEASE oOutlook	
>>		quit
>>	ENDIF 
>>ENDIF 
>>oOutlook = null
>>RELEASE oOutlook	
>>
>>
>
>No idea whether this will make a difference, but my experience is that you should always instantiate the MAPI object before instantiating any of its members. So maybe try:
>
>
>oMapi = oOutlook.GetNamespace("MAPI")
>outlookAccounts = oMapi.Accounts
>
>
>Tamar
*******************************************************
Save a tree, eat a beaver.
Denis Chassé
Previous
Reply
Map
View

Click here to load this message in the networking platform