Lotus C++ API Problem

Discussion in 'C++' started by Soumya Rajiv, Sep 9, 2010.

  1. Soumya Rajiv

    Soumya Rajiv New Member

    Joined:
    Sep 9, 2010
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    0
    I am using Lotus C++ API to create DLL's. I use VB6 and Lotus8.5.0 for programming. I am able to create EXE files & am able to execute and see the results. I then created a DLL,used that DLL successfully in LotusScript. But when I tried to use the same DLL in VB or C++,the line where I call the DLL function,Lotus shows an error ""error opening one lotus notes application". Then Visual studio gets closed. I am pasting the code of DLL & VB here.
    ------------DLL Code of the function------
    Code:
    extern "C"
    {
    __int32 __stdcall NSFType(LNString strDbPath)
    {
    char errorBuf[151];
    LNSetThrowAllErrors(TRUE); //capturing all errors
    LNNotesSession session;
    session.Init();//initializing API
    LNDatabase db;
    int status;
    LNString TemplateName;
    
    try
    {
    session.GetDatabase(strDbPath,&db);// getting the database
    db.Open();
    TemplateName=db.GetInheritsFromTemplateName();//getting the template name of the database
    TemplateName=TemplateName.GetTextPtr();
    if (TemplateName=="")
    {
    status=0; // an email database will always have a template name.
    
    }
    else
    LNViewFolder View;
    LNDocument Doc;
    db.GetViewFolder("($All)", &View);
    View.Open();//open the view
    LNVFEntry Entry = View[0];//get the first entry in the view
    Entry.GetDocument(&Doc);//get the handle of the first document
    Doc.Open();//open the document
    if (Doc.HasItem("Subject")&&Doc.HasItem("SendTo")&&Doc.HasItem("From"))
    {
    status=1;
    }
    else
    {
    status=0;
    }
    Doc.Close();//closing the document to free memory
    }
    
    }
    catch(LNSTATUS error)
    {
    LNGetErrorMessage(error,errorBuf);
    //error handling is done
    }
    return(status);//return the result as email/Non email type
    
    session.Term();//terminating the lotus session.
    }
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice