⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 relnotes.txt

📁 IBM Lotus C++ API 7.0a for IBM Lotus Notes/Domino Directory Release --------- ------------------
💻 TXT
字号:
Licensed Materials - Property of IBM
C99VCEN
C99VDEN

(c) Copyright IBM Corporation 1996, 2007
All rights reserved.
IBM, Lotus, Lotus Notes, Notes, and Domino are trademarks or registered
trademarks of Lotus Development Corporation and/or IBM Corporation
in the United States, or other countries, or both.


*******************************************************************

         IBM Lotus C++ API 7.0a for IBM Lotus Notes/Domino

                        Release Notes

*******************************************************************

This file describes changes in Release 7.0a of the Lotus C++ API
Toolkit for Domino and Notes. This release of the Lotus C++ API
Toolkit supports development of programs for IBM Lotus Notes
Release 7.0.

Note: For more information about the C++ API, visit IBM
developerWorks (http://www.ibm.com/developerworks/lotus). The
Toolkits and Drivers page in the Downloads section contains links
to documentation, product information, and pages where you can 
download the product itself or related material such as sample 
programs.


Contents:

1. New and Changed Features 
2. Known issues 
3. Resolved issues 



---------------------------
1. NEW AND CHANGED FEATURES
---------------------------

The following changes were introduced in release 7.0 of the toolkit:

Notes/Domino version support change

Applications you build with this version of the C++ API toolkit will
work with Notes and Domino releases 7.0. Users of earlier releases 
of Domino and Notes should use an earlier version of the toolkit, 
such as version 3.0.


---------------
2. KNOWN ISSUES
---------------

The following issues and problems affect C++ API classes,
functions, and sample programs in this release. Some problem
descriptions are followed by an internal tracking number.

- This release of the C++ API toolkit does not support the use of  
  IBM VisualAge C++ for Windows. Users of that environment should use 
  the 2.3 toolkit release instead.  
- This release of the C++ API toolkit does not support HP-UX. Users of
  that platform should use the 2.2 toolkit release instead.
- This release of the C++ API toolkit does not support 16-bit Windows
  or Macintosh. Users of those platforms should use the 2.0 toolkit
  release instead.
- At this time, the C++ API does not directly support the creation
  of repeating calendar entries. If you need to do this, you can
  use the C++ API to create each individual calendar entry, but you
  will have to provide the additional logic associated with
  determining the dates of each entry. (SJAN4MYKLS)
- LNRichText::AppendRenderedDocument(LNDocument &doc) and 
  LNRichText::AppendRenderedDocument(LNDocument &doc, LNForm &form)
  prepend an extra blank line in the rich text item before the
  rendered document. (SCHN3KULWA)
- When you get a value that is stored internally in twips (for 
  example, by calling LNTable::GetRowSpacing to get the spacing 
  between table rows) it may differ slightly from the value you
  specified (for example, by calling LNTable::SetRowSpacing).
  (LASH357U32)
- Some C++ API functions attempt to locate your mail database (for 
  example, LNNoteSession::CreateMailMessage and GetMailDatabase,
  and LNDocument::Send and SendTo). These functions generate the
  error LNERR_NO_MAIL_DATABASE ("Cannot locate mail database") if
  they cannot find the database. If you receive this error, you
  can do one of the following:

    * If the program is running on a Notes client, make sure the 
      personal name and address book (NAB) contains a location 
      document that specifies the mail server and database name,
      and make sure that location is the current one. The Location
      entry in the notes.ini file specifies the current location.

    * If the program is running on the server, make sure the
      server's notes.ini file contains the entries MailServer and
      MailFile, which specify the mail server and database name
      respectively. If the C++ API doesn't find a location
      document in the NAB, it looks in the notes.ini file for
      these values (on both server and client machines). Although
      you could add a location document to the server's NAB, you
      might not wish to do this, because that document will
      replicate to other servers.

- If you insert too many large tables or too many LNCompositeData 
  objects into a rich text item you may run out of memory.
- LNStylizedText containers cannot hold more than 40KB of text. 
  Attempting to store more than 40KB of text causes the new 
  LNERR_TEXT_TOO_BIG error code to be returned. Also note that
  Notes may not be able to open documents that contain stylized
  text items with more than 20KB of text. If your application
  stores more than 20KB of text (but less than 40KB), the new 
  LNWARN_TEXT_TOO_BIG_FOR_NOTES warning is returned.

  Remember that appending text to a rich text item may make it
  larger than the maximum sizes given above. The safe way to
  append text to a stylized text object is to call Append with the
  optional parameter that converts embedded nulls in the appended
  text to paragraph breaks, thereby adding the text as a series of
  LNStylizedText objects:

  LNRichText     rt;
  LNString       text;
  ...
  rt.Append(text, TRUE);
  ...

- You cannot specify the LotusScript for an agent, button, form or 
  view action, or action hotspot by passing an LNLotusScript object
  that was constructed "from scratch" with a string or LNString
  containing pure LotusScript code as you would enter it in Notes. 
  This is because the code lacks special comments that are normally
  inserted and parsed by Notes when you manually create
  LotusScript.

  To properly specify LotusScript code, you must get it from an
  LNLotusScript object that represents LotusScript that was
  manually created and saved in Notes. 

  This does not prevent you from using strings containing 
  LotusScript, but it does require some extra steps. For example,
  if you had a library of scripts, you could add them to agents by
  doing the following:

  1. Manually or programmatically create a database that holds a 
     series of LotusScript agents named after your scripts.
  2. Manually copy and paste your scripts from text files into the 
     new agents.
  3. Save the new agents so that Notes can insert its special 
     comments.
  4. Write code that gets the LotusScript code from the agents you 
     just created and adds it to agents in your target database.
     For example:

     LNDatabase agentDb, targetDb;
     LNAgent agent, newAgent;
     LNLotusScript script;

     agentDb.GetAgent("Script1", &agent);
     agent.Open();
     agent.GetLotusScript(&script);

     targetDb.CreateAgent("NewAgent", TRUE, &newAgent);
     newAgent.SetLotusScript(script);
     //set other properties
     newAgent.Save();

- If you use LNRichText::CreateOLEObject to embed an OLE object in a
  note and then view the note in Notes, an OLE object icon is
  displayed instead of the object itself (for example, a word
  processor document). To insert the graphic representation
  of an OLE object into rich text, use the method demonstrated in the
  EMBEDOLE sample.
- In some situations involving the assignment of roles to users,
  LNNotesSession::CreateDatabaseReplica may fail, when replicating
  through the Notes user interface would succeed. If you encounter
  this problem, please let us know. (PBIT44AP7S)
- Calling LNNote::GetItem on a field on a subform in a tabbed table
  results in a "Note item not found" error. This is due to a
  problem in the C API that has been reported but not yet fixed.
  (DCO49ZJ64)
- You cannot directly copy a rich text item containing an embedded OLE
  object in applications running on non-OLE platforms.  To work around
  the problem, copy the entire LNNote, rather than just the LNRichText
  item. (SCHN4JTUUC) 
- Some LNCreateDatabaseOptions methods currently have no effect: 

  * LNCreateDatabaseOptions::SetCopyACL does not let you specify
    whether a database's ACL should be copied when you call the
    LNNotesSession CreateDatabaseCopy, CreateDatabaseReplica or
    CreateDatabaseFromTemplate functions to create a new database.
  * LNCreateDatabaseOptions::SetPreserveNoteModifiedTime does not let
    you specify whether LNNotesSession::CreateDatabaseCopy and
    CreateDatabaseReplica preserve the original modification time for
    each note when copying it to a new database.

  We are investigating these problems and hope to fix them in a future
  release. (DSCR4J3SH4)
- This release of the C++ API does not support the full text search
  features introduced in Notes 5.0, including domain search, returning
  results as URLs, and 'chunking' large result sets. (SBON4GYSTG)
- If you call LNTableCell::GetMergeBoundaries on a cell that was not
  created by merging multiple cells, the function should return a
  warning but may throw an exception instead. To avoid this problem,
  call LNTableCell::IsCellMerged before calling
  LNTableCell::GetMergeBoundaries. (SCHN53LJ4F)
- If you use LNDatabase::CreateDocument to create an LNDocument
  document in a mail database, using the "Memo" form, the message type
  (unexposed in the C++ API) is not properly set. As one result,
  failover routing may fail. To work around this problem, use
  LNNotesSession::CreateMailMessage and LNMailMessage instead.
  (SBON56NLW3)
- Calling LNNote::GetSigner on a signed mail message may cause a
  "Document has been modified or corrupted since signed" error.
  (NSCZ4VMBED)
- AIX users may receive the following error when running C++ API
  applications with Domino 5.0.9 or later:

    The process [API application name] is unable to map the required
    amount of shared memory. Please refer to the documentation to
    correct this.

  If you see this error, run the the Domino "dataseg" utility,
  located in the Domino executable directory. This utility examines
  your API applications and makes shared memory recommendations or
  changes shared memory allocations as you specify. Use the
  following syntax:

    dataseg -s [executable]

  This command changes the shared memory to the amount used by
  Domino. To check and change shared memory for all API applications,
  use the following syntax:

    dataseg -s *

  You can also supply a list of applications to check and change.
  This utility affects only the data segment, and only in 32-bit AIX
  executables. For more information about the shared memory error
  and the dataseg utility, see the Release Notes: Domino/Notes
  database included in your Domino or Notes installation.
- Calling LNLayout::CreateLayoutGraphicButton to create a graphic
  button based on a text hotspot results in a very small button.
  (PNOT5ZCJA2)


------------------
3. RESOLVED ISSUES
------------------

The following customer-reported problems have been resolved
in release 7.0 of the toolkit:

- You can now successfully call LNScriptLibrary::Save to save changes
  to an existing script library. (SBON5WPQ24)
- Saving a document with invalid rich text (in the reported case, 
  rich text that contains the start records for a hotspot popup, but 
  not the end records) no longer causes a crash. (SBON65954R)
- The C++ API now properly copies all needed paragraph definitions 
  when copying a table. (SBON5WNSNT)
- We have resolved a problem which prevented HideIf formulas from 
  being removed in some circumstances. (SBON5XUK35)
- We have resolved a problem that resulted in an "Unable to perform 
  operation due to unopened note" error when copying a script 
  library. (SSAA5WRPEA)
- LNViewFolder::Open error in 3.0e toolkit if view column uses 
  nonstandard font is resolved.(JHER6BNQCW)
- Domino 6: Need to support extended event records is resolved(SBON5SJJMG)
- C++ API Toolkit 2.2 problem with attachments and Append method of 
  LNRichText class is resolved.(WMUH5SSSYD)
- saving the form resets "allow multiple values" for Dialog lists fields
  problem is resolved.(PNOT5T6LVE)
- LNLayoutGraphicButton - Creates a button that is about a pixel in size 
  when based on a text hotspot issue is resolved.(PNOT5ZCJA2)
- Problems with inserting Layout elements if the cursor isn't positioned 
  correctly issue is resolved.(PNOT5ZJKQW)
- LNLayout::CreateLayoutField - Combo or List box will be created instead
  of check box in a given scenario issue is resolved.(PNOT5ZKQ7J)
- sample frameset not setting FrameSize correctly issue is resolved.(SCHN5Z5T46)
- Text created with CreateLayoutText doesn't set the Text Transparent Background
  to True issue is resolved.(SCHN5ZCSB4)
- C++ api may try to write >40k blocks of data with beta version of Domino 7
  issue is resolved.(SCHN65QS7M)
- LNLayoutGraphic and LNLayoutGraphicButton aren't really centered issue is 
  resolved.(SCHN5ZEJAP)
- Need to provide API controls for right-to-left text issue is resolved.(SBON5ZALPF)

The following customer-reported problems have been resolved
in this release of the toolkit (7.0a):

- Calling GetCDRecords method of LNRTObject will cause exception of data 
  corruption. (DWUU6HS9UN)
- We have fixed a problem that LNRichText::HasAttachments returns 
  "No Match Found" for encrypted documents. (PCHE6VAJ82)
- C++ API cannot access multiple $FILE items in encrypted MIME notes.
  (MDLS6X5KL8)
- C ++ api GetItemValue reports Out of Private Handles on documents with
  big size. (WSCN6VDTTQ)
- C++ API parser incorrectly handles graphics with incomplete begin/end records.
  (SBON6TNJPN)
- LNRichText::HasAttachment() throws Unexpected Exception on some documents who
  use non-standard fonts. (PCHE6X6NLV)
- LNNote::DeleteAllItems returns "Note Item Not Found" when documents include OLE 
  object. (PCHE6WVSEV)
- We have fixed a problem that memory leak since release 3.0b. (XZWG6T85RX)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -