CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 15 of 15

Thread: How can I import the addresses from Outlook Express to my program

  1. #1
    Join Date
    Mar 2000
    Location
    Romania
    Posts
    8

    How can I import the addresses from Outlook Express to my program

    How can I import the addresses from Outlook Express to my program? Thanx a lot


  2. #2
    Join Date
    Jun 2001
    Posts
    1

    Re: How can I import the addresses from Outlook Express to my program

    HI !!!

    I'm a new VC++ programer and I'm trying to do the same - import the outlook contact list into my application, with no real results untill now.

    If you have an idea, please reply.

    thanks

    Hafor.


  3. #3
    Join Date
    May 1999
    Location
    Germany
    Posts
    106

    Re: How can I import the addresses from Outlook Express to my program

    Do you use "Outlook Express" or "Outlook" from "Microsoft Office".
    If you use Microsoft Office's Outlook you can get contacts, mails and so on by using automation.

    Bye
    Peter


  4. #4
    Join Date
    Jan 2001
    Posts
    73

    Re: How can I import the addresses from Outlook Express to my program

    Hi!

    I also want to do this!

    I'd like to do this using Outlook express...

    outlook from office....

    and netscape messenger....


    can someone explain to me.....what is automation ??

    thanks!

    VincE


  5. #5
    Join Date
    Sep 1999
    Location
    Utah [Zion]
    Posts
    667

    Re: How can I import the addresses from Outlook Express to my program

    Some of this code is EXTREMELY complicated to say the very least. Good luck.

    You will need to include:

    #include "mapix.h"
    #include "addrlkup.h"





    First call the GETMSExchangeUSers() function seen below:


    void CMAPITestDlg::GetMSExchangeUsers(CStringList &NameList)
    {
    CString cst;
    HRESULT hr = ::MAPIInitialize(NULL);
    ASSERT(S_OK == hr);
    LPMAPISESSION pSession = NULL;
    hr = ::MAPILogonEx(0, NULL, NULL, MAPI_LOGON_UI | MAPI_ALLOW_OTHERS | MAPI_EXTENDED, &pSession);
    ASSERT(SUCCEEDED(hr));
    LPADRBOOK lpAdrBook = NULL;
    hr = pSession->OpenAddressBook(0, 0, MAPI_ACCESS_MODIFY, &lpAdrBook);
    ASSERT(SUCCEEDED(hr));
    ULONG cbeid = 0;
    LPENTRYID peid = NULL;
    hr = HrFindExchangeGlobalAddressList(lpAdrBook, &cbeid, &peid);
    if (SUCCEEDED(hr))
    {
    ULONG openFlags = MAPI_BEST_ACCESS;
    hr = lpAdrBook->OpenEntry(cbeid, peid, NULL, openFlags, &ulObjType, (LPUNKNOWN *)&dlpPABEntry);
    if (hr ==S_OK)
    {
    SizedSPropTagArray(2, sptStoTbl) = {2, {PR_DISPLAY_NAME, PR_EMS_AB_PROXY_ADDRESSES}};
    if (HR_SUCCEEDED(((LPABCONT)dlpPABEntry)->GetContentsTable(0L, &lppabcont)))
    {
    if (HR_SUCCEEDED(lppabcont->SetColumns((LPSPropTagArray)&sptStoTbl, TBL_BATCH)))
    {
    hr = ((LPMAPITABLE)lppabcont)->GetRowCount(0, &lpulCount);
    int x = 0;
    int iTotNum = lpulCount;
    int num_iterations = (lpulCount / 50);
    int num_left = (lpulCount - (num_iterations * 50));
    m_Count = lpulCount;
    while (x < num_iterations)
    {
    if (HR_SUCCEEDED(((LPMAPITABLE)lppabcont)->QueryRows((LONG)lpulCount, 0, &lprws)))
    {
    for (int i = 0; i < (int)(*lprws).cRows; i++)
    {
    CString stro, addr, ListElement;
    stro.Format("%s", lprws->aRow[i].lpProps[0].Value.lpszA);
    ListElement = stro;
    if (IsItValid(stro) == 1)
    {
    ++cntr;
    ++m_MostRecentCount;
    cst.Format("%d", cntr);
    NameList.AddTail(ListElement);
    CString ice;
    ice.Format("%d of %d", cntr, iTotNum);
    SetDlgItemText(IDC_NUM, ice);
    }
    }
    }
    ++x;
    }
    if (HR_SUCCEEDED(((LPMAPITABLE)lppabcont)->QueryRows((LONG)lpulCount, 0, &lprws)))
    {
    for (int i = 0; i < num_left; i++)
    {
    CString stro, addr, ListElement;
    stro.Format("%s", lprws->aRow[i].lpProps[0].Value.lpszA);
    ListElement = stro;
    if (IsItValid(stro) == 1)
    {
    ++cntr;
    ++m_MostRecentCount;
    cst.Format("%d", cntr);
    NameList.AddTail(ListElement);
    }
    }
    }
    }
    }
    }
    }
    else
    {
    AfxMessageBox("Error...");
    }
    if (peid)
    {
    ::MAPIFreeBuffer(peid);
    }
    if (lpAdrBook)
    {
    lpAdrBook->Release();
    }
    ::MAPIUninitialize();
    }




    then call GetEMailWithUserNameAndList() with the name and user list as parameters: in the function below:


    CString CMAPITestDlg::GetEMailWithUserNameAndList(CString User, CStringList &UserList)
    {
    CString Name = User;
    CString Address;
    HRESULT hr;
    LPADRBOOK lpAddrbk = NULL;
    LPADRLIST pAdrList = NULL;
    ULONG i, j;
    SBinary sBin;
    LPMAILUSER pMailUser = NULL;
    ULONG cValues = 0;
    LPSPropValue lpPropValue = NULL;
    char szUserEmailAddress[50];
    LPMAPISESSION pSession = NULL;
    hr = ::MAPILogonEx(0, NULL, NULL, MAPI_LOGON_UI | MAPI_ALLOW_OTHERS | MAPI_EXTENDED, &pSession);
    if (hr == S_OK)
    {
    SizedSPropTagArray(1, sptOneItem) = { 1, PR_EMS_AB_PROXY_ADDRESSES};
    hr = pSession->OpenAddressBook(0, NULL, 0, &lpAddrbk);
    if (hr == S_OK)
    {
    lpAddrbk->Address(NULL, NULL, &pAdrList);
    hr = MAPIAllocateBuffer(CbNewSRowSet(1),(LPVOID*) &pAdrList);
    if (hr == S_OK)
    {
    ZeroMemory(pAdrList, CbNewSRowSet(1));
    hr = MAPIAllocateBuffer(7 * sizeof(SPropValue), (LPVOID FAR *)&(pAdrList->aEntries[0].rgPropVals));
    ZeroMemory(pAdrList->aEntries[0].rgPropVals, 7 * sizeof(SPropValue));
    pAdrList->cEntries = 1;
    pAdrList->aEntries[0].cValues = 2L;
    pAdrList->aEntries[0].rgPropVals[0].ulPropTag = PR_DISPLAY_NAME;
    char * ptrName = Name.GetBuffer(strlen(Name));
    pAdrList->aEntries[0].rgPropVals[0].Value.lpszA = ptrName;
    pAdrList->aEntries[0].rgPropVals[1].ulPropTag = PR_ADDRTYPE;
    pAdrList->aEntries[0].rgPropVals[1].Value.lpszA = "SMTP";
    hr = lpAddrbk->ResolveName(0L, 0L, NULL, pAdrList);
    for (i = 0; i < 7; ++i)
    {
    if (pAdrList->aEntries[0].rgPropVals[0].ulPropTag == PR_ENTRYID)
    {
    sBin.cb = pAdrList->aEntries[0].rgPropVals[i].Value.bin.cb;
    sBin.lpb = pAdrList->aEntries[0].rgPropVals[i].Value.bin.lpb;
    hr = lpAddrbk->OpenEntry(sBin.cb, (LPENTRYID)sBin.lpb,
    NULL, 0, &ulObjType, (LPUNKNOWN*)&pMailUser);
    if (FAILED(hr))
    {
    break;
    }
    hr = pMailUser->GetProps((LPSPropTagArray)&sptOneItem, 0, &cValues, &lpPropValue);
    if (hr & MAPI_W_ERRORS_RETURNED)
    {
    break;
    }
    if (HR_FAILED(hr))
    {
    break;
    }
    for (j = 0; j < lpPropValue->Value.MVszA.cValues; j++)
    {
    if (!strncmp(lpPropValue->Value.MVszA.lppszA[j],"SMTP",4))
    {
    strcpy(szUserEmailAddress, lpPropValue->Value.MVszA.lppszA[j]+5);
    Address = szUserEmailAddress;
    if ((Address.Find("@") != -1))
    {
    return Address;
    }
    }
    }
    }
    }
    }
    }
    }
    return Address;
    }




    Best of luck... I spent a great deal of time on this code, a good ratuing would be nice....

    info@envelopebudget.com
    http://envelopebudget.com
    Rate if it helped rank if it didn't!

  6. #6
    Join Date
    Apr 2001
    Location
    Tampa Florida
    Posts
    233

    Re: How can I import the addresses from Outlook Express to my program

    You can find this information in the MSDN Q220600 HOWTO: Automate Outlook

    Myself, I can't figure what to do next to get a list or count of emails. This code works ok



    // Start Outlook.
    // If it is already running, you'll use the same instance...
    _Application olApp;
    COleException e;
    if(!olApp.CreateDispatch("Outlook.Application", &e)) {
    CString str;
    str.Format("CreateDispatch() failed w/error 0x%08lx", e.m_sc);
    AfxMessageBox(str, MB_SETFOREGROUND);
    return;
    }

    _NameSpace olNs(olApp.GetNamespace("MAPI"));

    _Folders folds ;
    folds = olNs.GetDefaultFolder ( 6 ); // olFolderInbox

    // Open the Inbox
    // olNs.GetF
    MAPIFolder inbox = (MAPIFolder)olNs. GetDefaultFolder( 6 );

    long int numb = inbox.GetUnReadItemCount();
    CString named = inbox.GetName();
    IDispatch * InboxItems = inbox.GetItems ();

    inbox.Display(); // is the inbox ok






    I have the inbox but how do I get a list of messages?


    "trampling out the vintage"

  7. #7
    Join Date
    Jul 2001
    Posts
    2

    Re: How can I import the addresses from Outlook Express to my program


    //Add this lines to the end of te code posted by JohnDavidHanna
    _Items d(InboxItems);
    IDispatch * dd=d.GetFirst();
    _MailItem ee(dd);
    MessageBox(ee.GetSubject() );




    Please rate this post!


  8. #8
    Join Date
    Apr 2001
    Location
    Tampa Florida
    Posts
    233

    Re: How can I import the addresses from Outlook Express to my program

    Oh, I figured it out in the interum and this code looks simular and good. It took awhile to find the lowdown on variant types used as arguments, and their initialization processing. Thanks for the help!

    "trampling out the vintage"

  9. #9
    Join Date
    Aug 2001
    Location
    India
    Posts
    1

    Re: How can I import the addresses from Outlook Express to my program

    Hi,
    How can I import the addresses from Outlook to my program? I use "Outlook" from "Microsoft Office". If possible help me please.


  10. #10
    Join Date
    May 1999
    Location
    Germany
    Posts
    106

    Re: How can I import the addresses from Outlook Express to my program

    Hello,

    unfortunately i have got no example code, and i am no expert for automation and C++. But i know that it is possible.
    For a first glance i wrote some lines of Visual Basic (just to show how it works).
    As you can see, you first use CreateObject to get an instance of outlook (in VC++ you'd use CoCreateInstance and some more parameters). And then you can make your way through properties and methods of the outlook object model to get the required addresses.
    The get more info about outlook and automation refer to MSDN and search for "outlook automation".

    But i guess that using VC++ to do that job will be more difficult than these few lines of code, because you'll have to handle with GUIDs, interfaces, IDL and some more COM-stuff.

    Hope that little hint helped you anyway.

    Bye
    Peter




    'Don't forget to add references to "Microsoft Outlook 9.0 Objects" to your project !!!
    Dim a as outlook.Application
    set a = CreateObject("Outlook.Application")

    Dim f as outlook.MAPIFolder
    set f = a.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts)

    Dim c as outlook.ContactItem
    for Each c In f.Items
    MsgBox c.LastName & ", " & c.FirstName
    next c





  11. #11
    Join Date
    Aug 2000
    Posts
    154

    Re: How can I import the addresses from Outlook Express to my program

    Hi Alanr,

    I tried to implement compile your code but it doesn't seem to wok.....

    int main()
    {
    CString cst, &NameList, UsrName = "banh";

    // Initialize MAPI
    HRESULT hr = ::MAPIInitialize(NULL);
    ASSERT(S_OK == hr);
    LPMAPISESSION pSession = NULL;

    // Obtain MAPI session
    hr = ::MAPILogonEx(0, NULL, NULL, MAPI_LOGON_UI | MAPI_ALLOW_OTHERS | MAPI_EXTENDED, &pSession);
    ASSERT(SUCCEEDED(hr));
    LPADRBOOK lpAdrBook = NULL;

    // Open the addressbook
    hr = pSession->OpenAddressBook(0, 0, MAPI_ACCESS_MODIFY, &lpAdrBook);
    ASSERT(SUCCEEDED(hr));

    // Locate GAL
    ULONG cbeid = 0;
    LPENTRYID peid = NULL;
    hr = HrFindExchangeGlobalAddressList(lpAdrBook, &cbeid, &peid);
    if (SUCCEEDED(hr))
    {
    // Open GAL
    ULONG openFlags = MAPI_BEST_ACCESS;
    hr = lpAdrBook->OpenEntry(cbeid, peid, NULL, openFlags, &ulObjType, (LPUNKNOWN *)&dlpPABEntry);
    if (hr ==S_OK)
    {
    SizedSPropTagArray(2, sptStoTbl) = {2, {PR_DISPLAY_NAME, PR_EMS_AB_PROXY_ADDRESSES}};
    if (HR_SUCCEEDED(((LPABCONT)dlpPABEntry)->GetContentsTable(0L, &lppabcont)))
    {
    if (HR_SUCCEEDED(lppabcont->SetColumns((LPSPropTagArray)&sptStoTbl, TBL_BATCH)))
    {
    hr = ((LPMAPITABLE)lppabcont)->GetRowCount(0, &lpulCount);
    int x = 0;
    int iTotNum = lpulCount;
    int num_iterations = (lpulCount / 50);
    int num_left = (lpulCount - (num_iterations * 50));
    m_Count = lpulCount;
    while (x < num_iterations)
    {
    if (HR_SUCCEEDED(((LPMAPITABLE)lppabcont)->QueryRows((LONG)lpulCount, 0, &lprws)))
    {
    for (int i = 0; i < (int)(*lprws).cRows; i++)
    {
    CString stro, addr, ListElement;
    stro.Format("%s", lprws->aRow.lpProps[0].Value.lpszA);
    ListElement = stro;
    if (IsItValid(stro) == 1)
    {
    ++cntr;
    ++m_MostRecentCount;
    cst.Format("%d", cntr);
    NameList.AddTail(ListElement);
    CString ice;
    ice.Format("%d of %d", cntr, iTotNum);
    SetDlgItemText(IDC_NUM, ice);
    }
    }
    }
    ++x;
    }
    if (HR_SUCCEEDED(((LPMAPITABLE)lppabcont)->QueryRows((LONG)lpulCount, 0, &lprws)))
    {
    for (int i = 0; i < num_left; i++)
    {
    CString stro, addr, ListElement;
    stro.Format("%s", lprws->aRow.lpProps[0].Value.lpszA);
    ListElement = stro;
    if (IsItValid(stro) == 1)
    {
    ++cntr;
    ++m_MostRecentCount;
    cst.Format("%d", cntr);
    NameList.AddTail(ListElement);
    }
    }
    }
    }
    }
    }
    }
    else
    {
    AfxMessageBox("Error...");
    }
    if (peid)
    {
    ::MAPIFreeBuffer(peid);
    }
    if (lpAdrBook)
    {
    lpAdrBook->Release();
    }
    ::MAPIUninitialize();

    GetEmailWithUserNameAndList(UsrName, NameList);

    return 0;
    }


    CString GetEMailWithUserNameAndList(CString User, CStringList &UserList)
    {
    CString Name = User;
    CString Address;
    HRESULT hr;
    LPADRBOOK lpAddrbk = NULL;
    LPADRLIST pAdrList = NULL;
    ULONG i, j;
    SBinary sBin;
    LPMAILUSER pMailUser = NULL;
    ULONG cValues = 0;
    LPSPropValue lpPropValue = NULL;
    char szUserEmailAddress[50];
    LPMAPISESSION pSession = NULL;
    hr = ::MAPILogonEx(0, NULL, NULL, MAPI_LOGON_UI | MAPI_ALLOW_OTHERS | MAPI_EXTENDED, &pSession);
    if (hr == S_OK)
    {
    SizedSPropTagArray(1, sptOneItem) = { 1, PR_EMS_AB_PROXY_ADDRESSES};
    hr = pSession->OpenAddressBook(0, NULL, 0, &lpAddrbk);
    if (hr == S_OK)
    {
    lpAddrbk->Address(NULL, NULL, &pAdrList);
    hr = MAPIAllocateBuffer(CbNewSRowSet(1),(LPVOID*) &pAdrList);
    if (hr == S_OK)
    {
    ZeroMemory(pAdrList, CbNewSRowSet(1));
    hr = MAPIAllocateBuffer(7 * sizeof(SPropValue), (LPVOID FAR *)&(pAdrList->aEntries[0].rgPropVals));
    ZeroMemory(pAdrList->aEntries[0].rgPropVals, 7 * sizeof(SPropValue));
    pAdrList->cEntries = 1;
    pAdrList->aEntries[0].cValues = 2L;
    pAdrList->aEntries[0].rgPropVals[0].ulPropTag = PR_DISPLAY_NAME;
    char * ptrName = Name.GetBuffer(strlen(Name));
    pAdrList->aEntries[0].rgPropVals[0].Value.lpszA = ptrName;
    pAdrList->aEntries[0].rgPropVals[1].ulPropTag = PR_ADDRTYPE;
    pAdrList->aEntries[0].rgPropVals[1].Value.lpszA = "SMTP";
    hr = lpAddrbk->ResolveName(0L, 0L, NULL, pAdrList);
    for (i = 0; i < 7; ++i)
    {
    if (pAdrList->aEntries[0].rgPropVals[0].ulPropTag == PR_ENTRYID)
    {
    sBin.cb = pAdrList->aEntries[0].rgPropVals.Value.bin.cb;
    sBin.lpb = pAdrList->aEntries[0].rgPropVals.Value.bin.lpb;
    hr = lpAddrbk->OpenEntry(sBin.cb, (LPENTRYID)sBin.lpb,
    NULL, 0, &ulObjType, (LPUNKNOWN*)&pMailUser);
    if (FAILED(hr))
    {
    break;
    }
    hr = pMailUser->GetProps((LPSPropTagArray)&sptOneItem, 0, &cValues, &lpPropValue);
    if (hr & MAPI_W_ERRORS_RETURNED)
    {
    break;
    }
    if (HR_FAILED(hr))
    {
    break;
    }
    for (j = 0; j < lpPropValue->Value.MVszA.cValues; j++)
    {
    if (!strncmp(lpPropValue->Value.MVszA.lppszA[j],"SMTP",4))
    {
    strcpy(szUserEmailAddress, lpPropValue->Value.MVszA.lppszA[j]+5);
    Address = szUserEmailAddress;
    if ((Address.Find("@") != -1))
    {
    return Address;
    }
    }
    }
    }
    }
    }
    }
    }
    return Address;
    }

    I'm getting all sorts of errors... What am I doing wrong?
    Thanks!

    Marci Sarwan (marci_sarwan@yahoo.com)


  12. #12
    Join Date
    Sep 1999
    Location
    Utah [Zion]
    Posts
    667

    Re: How can I import the addresses from Outlook Express to my program

    either should work

    info@envelopebudget.com
    http://envelopebudget.com
    Rate if it helped rank if it didn't!

  13. #13
    Join Date
    Sep 1999
    Location
    Utah [Zion]
    Posts
    667

    Re: How can I import the addresses from Outlook Express to my program

    you are probably getting linker errors, there are some .lib files which need to be included in the project settings. Namely the lib that supports the MAPI stuff.... I think its called addrlkup.lib

    Good luck...

    info@envelopebudget.com
    http://envelopebudget.com
    Rate if it helped rank if it didn't!

  14. #14
    Join Date
    Aug 2000
    Posts
    154

    Re: How can I import the addresses from Outlook Express to my program

    Hi Alanr,

    thanks for the reply.. I actually do have the lib and the error isn't complaining about the lib file.. Here are the errors I'm getting:

    Compiling...
    test.cpp
    c:\program files\microsoft visual studio\vc98\include\edkmapi.h(742) : error C2065: 'pbExchangeProviderPublicGuid' : undeclared identifier
    c:\program files\microsoft visual studio\vc98\include\edkmapi.h(755) : error C2065: 'pbExchangeProviderPrimaryUserGuid' : undeclared identifier
    c:\program files\microsoft visual studio\vc98\include\edkmapi.h(769) : error C2065: 'LPTRACEINFO' : undeclared identifier
    c:\program files\microsoft visual studio\vc98\include\edkmapi.h(769) : error C2146: syntax error : missing ')' before identifier 'lpTraceInfo'
    c:\program files\microsoft visual studio\vc98\include\edkmapi.h(770) : error C2059: syntax error : ')'
    c:\program files\microsoft visual studio\vc98\include\edkmapi.h(777) : error C2061: syntax error : identifier 'LPTRACEINFO'
    c:\program files\microsoft visual studio\vc98\include\edkmapi.h(784) : error C2061: syntax error : identifier 'LPTRACEINFO'
    c:\program files\microsoft visual studio\vc98\include\edkmapi.h(802) : error C2061: syntax error : identifier 'LPTRACEENTRY'
    c:\program files\microsoft visual studio\vc98\include\edkmapi.h(821) : error C2061: syntax error : identifier 'LPTRACEINFO'
    c:\program files\microsoft visual studio\vc98\include\edkmapi.h(839) : error C2061: syntax error : identifier 'LPTRACEINFO'
    c:\program files\microsoft visual studio\vc98\include\edkmapi.h(845) : error C2146: syntax error : missing ')' before identifier 'lpTraceInfo'
    c:\program files\microsoft visual studio\vc98\include\edkmapi.h(847) : error C2059: syntax error : ')'
    c:\program files\microsoft visual studio\vc98\include\edkmapi.h(853) : error C2146: syntax error : missing ')' before identifier 'lpTraceInfo'
    c:\program files\microsoft visual studio\vc98\include\edkmapi.h(855) : error C2059: syntax error : ')'
    c:\program files\microsoft visual studio\vc98\include\edkmapi.h(861) : error C2146: syntax error : missing ')' before identifier 'lpTraceInfo'
    c:\program files\microsoft visual studio\vc98\include\edkmapi.h(863) : error C2059: syntax error : ')'
    c:\program files\microsoft visual studio\vc98\include\edkmapi.h(869) : error C2065: 'LPTRACEENTRY' : undeclared identifier
    c:\program files\microsoft visual studio\vc98\include\edkmapi.h(869) : error C2146: syntax error : missing ')' before identifier 'lpTraceEntry'
    c:\program files\microsoft visual studio\vc98\include\edkmapi.h(881) : error C2059: syntax error : ')'
    c:\program files\microsoft visual studio\vc98\include\edkmapi.h(925) : error C2061: syntax error : identifier 'PINTTRACEENTRY'
    c:\program files\microsoft visual studio\vc98\include\edkmapi.h(946) : error C2061: syntax error : identifier 'PINTTRACEINFO'
    c:\program files\microsoft visual studio\vc98\include\edkmapi.h(966) : error C2061: syntax error : identifier 'PINTTRACEINFO'
    c:\test\test.cpp(72) : error C2530: 'NameList' : references must be initialized
    c:\test\test.cpp(96) : error C2065: 'ulObjType' : undeclared identifier
    c:\test\test.cpp(96) : error C2065: 'dlpPABEntry' : undeclared identifier
    c:\test\test.cpp(99) : error C2065: 'PR_EMS_AB_PROXY_ADDRESSES' : undeclared identifier
    c:\test\test.cpp(100) : error C2065: 'lppabcont' : undeclared identifier
    c:\test\test.cpp(102) : error C2227: left of '->SetColumns' must point to class/struct/union
    c:\test\test.cpp(104) : error C2065: 'lpulCount' : undeclared identifier
    c:\test\test.cpp(109) : error C2065: 'm_Count' : undeclared identifier
    c:\test\test.cpp(112) : error C2065: 'lprws' : undeclared identifier
    c:\test\test.cpp(114) : error C2100: illegal indirection
    c:\test\test.cpp(114) : error C2228: left of '.cRows' must have class/struct/union type
    c:\test\test.cpp(117) : error C2227: left of '->aRow' must point to class/struct/union
    c:\test\test.cpp(117) : error C2228: left of '.lpProps' must have class/struct/union type
    c:\test\test.cpp(117) : error C2228: left of '.Value' must have class/struct/union type
    c:\test\test.cpp(117) : error C2228: left of '.lpszA' must have class/struct/union type
    c:\test\test.cpp(119) : error C2065: 'IsItValid' : undeclared identifier
    c:\test\test.cpp(121) : error C2065: 'cntr' : undeclared identifier
    c:\test\test.cpp(122) : error C2065: 'm_MostRecentCount' : undeclared identifier
    c:\test\test.cpp(124) : error C2039: 'AddTail' : is not a member of 'CString'
    c:\program files\microsoft visual studio\vc98\mfc\include\afx.h(368) : see declaration of 'CString'
    c:\test\test.cpp(127) : error C2065: 'IDC_NUM' : undeclared identifier
    c:\test\test.cpp(138) : error C2227: left of '->aRow' must point to class/struct/union
    c:\test\test.cpp(138) : error C2228: left of '.lpProps' must have class/struct/union type
    c:\test\test.cpp(138) : error C2228: left of '.Value' must have class/struct/union type
    c:\test\test.cpp(138) : error C2228: left of '.lpszA' must have class/struct/union type
    c:\test\test.cpp(145) : error C2039: 'AddTail' : is not a member of 'CString'
    c:\program files\microsoft visual studio\vc98\mfc\include\afx.h(368) : see declaration of 'CString'
    c:\test\test.cpp(167) : error C2065: 'GetEmailWithUserNameAndList' : undeclared identifier
    c:\test\test.cpp(213) : error C2228: left of '.Value' must have class/struct/union type
    c:\test\test.cpp(213) : error C2228: left of '.bin' must have class/struct/union type
    c:\test\test.cpp(213) : error C2228: left of '.cb' must have class/struct/union type
    c:\test\test.cpp(214) : error C2228: left of '.Value' must have class/struct/union type
    c:\test\test.cpp(214) : error C2228: left of '.bin' must have class/struct/union type
    c:\test\test.cpp(214) : error C2228: left of '.lpb' must have class/struct/union type
    Error executing cl.exe.

    GAL.exe - 54 error(s), 0 warning(s)



    Thanks!

    Marci Sarwan (marci_sarwan@yahoo.com)


  15. #15
    Join Date
    Aug 2000
    Posts
    154

    Re: How can I import the addresses from Outlook Express to my program

    Hi Alanr,

    would it be possible if you can send me a simple sample program that you posted? I really need to get this working and I would really appreciate the help. Thank you!

    Marci Sarwan (marci_sarwan@yahoo.com)


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


Windows Mobile Development Center


Click Here to Expand Forum to Full Width




On-Demand Webinars (sponsored)