Solved

The name '' does not exist in the current context

Posted on 2009-07-14
16
1,798 Views
Last Modified: 2013-12-17
Hi,

I get the same error, the name 'objXXXXXX' does not exist in the current context in the code I've pasted below.
I've searched the net but found no good solutions to this but I can say this about the code.
Yes I copied it from a different project and Yes I've written it from scratch, it stops at the same time over and over.


I'd be really happy to get some help with this code =)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace asdasdasdasdasdasd
{
    public partial class Form1 : Form
    {
        GroupwareTypeLibrary.Application5 objGWSession = new GroupwareTypeLibrary.Application5();
        GroupwareTypeLibrary.Account objAccount = null;
 
 
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            //Using Multilogin
            string sUserName = textBox3.Text;
            string sTrustedAppKey = textBox2.Text;
            string sTrustedAppName = textBox1.Text;
            string sCmdLine = "/*ipa*-127.0.0.1 /ipp-1677";
            string sWhenToPromp = "egwPromptNever";
            string sPassword = textBox4.Text;
            string sReserved = null;
            string sMessageClassName = "GW.MESSAGE.APPOINTMENT";
            string sMessageType = "egwDraft";
 
            objGWSession.SetTrustedApplicationCredentials(sTrustedAppName, sTrustedAppKey);
            objAccount = objGWSession.MultiLogin(sUserName, sCmdLine, sPassword, sWhenToPromp, sReserved);
 
            // From here the errors start saying each of the obj's( except objAccount ) does not exist in the current context.
            objMailBox = objAccount.MailBox;
            objMessages = objMailBox.Messages;
            objAppointment = objMessages.Add(sMessageType);
 
            objAppointment.Recipients.Add();
        }
    }
}

Open in new window

0
Comment
Question by:TheFlyingCorpse
  • 8
  • 6
  • 2
16 Comments
 
LVL 41

Expert Comment

by:guru_sami
ID: 24852200
You have objGWSession  & objAccount declared here:
GroupwareTypeLibrary.Application5 objGWSession = new GroupwareTypeLibrary.Application5();
        GroupwareTypeLibrary.Account objAccount = null;

but you have not declared these: objMailBox , objMessages,   objAppointment

0
 
LVL 3

Expert Comment

by:MrHswede
ID: 24852203
Where is the objMailBox, objMessages and objAppointment declared?
Cant find any declarant.
/Martin
0
 
LVL 3

Expert Comment

by:MrHswede
ID: 24852220
Typical, while writing, guru was first to hit submit...
0
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 
LVL 2

Author Comment

by:TheFlyingCorpse
ID: 24852436
how do I declare them? They are subtypes of the account.
It will in the end be this thing but used in the different declarations to propagate to it : GroupWareTypeLibrary.Account.MailBox.Messages.Add(sMessageType) through objMailBox, objMessages, objAppointments
0
 
LVL 41

Expert Comment

by:guru_sami
ID: 24852535
Then objMailBox should be of type objAccount.MailBox,
objMessages should be of type objMailBox.Messages

If you can share what your Account Class looks like we can get better idea.
0
 
LVL 2

Author Comment

by:TheFlyingCorpse
ID: 24852595
you mean objAccount in this case or do you mean GroupWareTypeLibrary?
0
 
LVL 41

Expert Comment

by:guru_sami
ID: 24852647
You have : GroupwareTypeLibrary.Account objAccount = null;
Yes if possible need to see the actual Class.. Account...
0
 
LVL 2

Author Comment

by:TheFlyingCorpse
ID: 24852687
yeah, I have it to = null, but it have been "= default(GroupwareTypeLibrary.Account);" without any better result.
Below is an image of the class GroupwareTypeLibrary.Class
0
 
LVL 2

Author Comment

by:TheFlyingCorpse
ID: 24852691
0
 
LVL 2

Author Comment

by:TheFlyingCorpse
ID: 24852766
0
 
LVL 41

Expert Comment

by:guru_sami
ID: 24852877
For objMailBox try this:
GroupwareTypeLibrary.Folder objMailBox = objAccount.MailBox;

If that get rids of objMailBox error ...then you have to similarly get return type of other properties like
Messages etc....

If you have any doubt...you will have to post info about Messages
0
 
LVL 2

Author Comment

by:TheFlyingCorpse
ID: 24853249
I am stuck a bit further down now, I have written a bit more to the code and I get an error about not having set Object reference to an instance of an object.

The error occurs on line 44, GroupwareTypeLibrary.Folder objMailBox = objAccount.MailBox;

Code below
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace asdasdasdasdasdasd
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            GroupwareTypeLibrary.Application5 objGWSession = new GroupwareTypeLibrary.Application5();
            GroupwareTypeLibrary.Account2Class objAccount = null;
 
            
 
            //Using Multilogin
            string sUserName = textBox3.Text;
            string sTrustedAppKey = textBox2.Text;
            string sTrustedAppName = textBox1.Text;
            string sCmdLine = "/*ipa*-127.0.0.1 /ipp-1677";
            string sWhenToPromp = "egwPromptNever";
            string sPassword = textBox4.Text;
            string sReserved = null;
            string sMessageClassName = "GW.MESSAGE.APPOINTMENT";
            string sMessageType = "egwDraft";
            string sEmailAdress = "test@test.com";
            string sEmailType = "";
            string sEmailTargetTypeConst = "egwTo";
            bool bDoneSearch = false;
 
            objGWSession.SetTrustedApplicationCredentials(sTrustedAppName, sTrustedAppKey);
            //objAccount = objGWSession.MultiLogin(sUserName, sCmdLine, sPassword, sWhenToPromp, sReserved);
 
            GroupwareTypeLibrary.Folder objMailBox = objAccount.MailBox;
            GroupwareTypeLibrary.Messages objMessages = objMailBox.Messages;
            GroupwareTypeLibrary.Message objAppointment = objMessages.Add("GW.MESSAGE.APPOINTMENT", sMessageType, null);
            GroupwareTypeLibrary.Recipients objRecipients = objAppointment.Recipients;
            GroupwareTypeLibrary.Appointment objAppointment2 = default(GroupwareTypeLibrary.Appointment);
 
            //objMessages.Add(sMessageClassName, sMessageType, null);
            objRecipients.Add(sEmailAdress, sEmailType, sEmailTargetTypeConst);
            DateTime dt = DateTime.Now;
            String.Format("{0:M/dd/yyyy HH:mm:ss}", dt);
            MessageBox.Show(dt.ToString());
            
            objAppointment2.StartDate = dt;
            objAppointment2.StartBusySearch(dt, "7");
 
            do
            {
                bDoneSearch = objAppointment2.BusySearchResult.Completed;
                if (bDoneSearch == true)
                {
                    break;
                }
                else
                {
                    System.Threading.Thread.Sleep(2000);
                };
            } while (bDoneSearch == false);
 
            //objAccount.Owner.DisplayName;
            try
            {
                MessageBox.Show("DisplayName: " + objAccount.Owner.DisplayName);
            }
            catch (Exception ex)
            {
                toolStripStatusLabel1.Text = "Error in disp: " + ex.Message;
            }
 
 
        }
    }
}

Open in new window

0
 
LVL 41

Accepted Solution

by:
guru_sami earned 500 total points
ID: 24853602
Because you don't have  objAccount  set. You are setting it initially null then this line is commented out...

//objAccount = objGWSession.MultiLogin(sUserName, sCmdLine, sPassword, sWhenToPromp, sReserved);

So before accessing objAccount.MailBox ... objAccount should not be null...
0
 
LVL 2

Author Comment

by:TheFlyingCorpse
ID: 24853960
bah, a typo :P

I uncommented it and now have an error on objApppointment2.startdate = dt; where it tells me that its not apart of an instance, use the "new" keyword to create an object instance.

I think its because I use an entirely different part of the COM object and that I dont hook it to the instance where I created the message draft as an appointment.

Any clue how I can tie this to it? ;-)


Also, I've got further now then I've ever been, this means a ton to me :)
0
 
LVL 41

Expert Comment

by:guru_sami
ID: 24854089
0
 
LVL 2

Author Comment

by:TheFlyingCorpse
ID: 24854379
thank you so much for your help, you have more then answered the initial question =)
0

Featured Post

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Code works but it's slow 28 70
Install Problem 13 29
Hey Audio! 3 28
tableview is not updating 1 7
In my previous two articles we discussed Binary Serialization (http://www.experts-exchange.com/A_4362.html) and XML Serialization (http://www.experts-exchange.com/A_4425.html). In this article we will try to know more about SOAP (Simple Object Acces…
More often than not, we developers are confronted with a need: a need to make some kind of magic happen via code. Whether it is for a client, for the boss, or for our own personal projects, the need must be satisfied. Most of the time, the Framework…
This Micro Tutorial hows how you can integrate  Mac OSX to a Windows Active Directory Domain. Apple has made it easy to allow users to bind their macs to a windows domain with relative ease. The following video show how to bind OSX Mavericks to …
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …

785 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