Skip to main content
This forum is closed to new posts and responses. New discussions are now taking place in the IBM Developer Answers forum.
 
developerWorks
AIX and UNIX
Information Mgmt
Lotus
New to Lotus
Products
How to buy
Downloads
Live demos
Technical library
Training
Support
Forums & community
Events
Rational
Tivoli
WebSphere
Java™ technology
Linux
Open source
SOA and Web services
Web development
XML
My developerWorks
About dW
Submit content
Feedback



developerWorks  >  Lotus  >  Forums & community  >  Notes/Domino 6 and 7 Forum

Notes/Domino 6 and 7 Forum

developerWorks

  

PreviousPrevious NextNext


Tomas Brabec 27.Jul.06 12:29 PM a Web browser
Notes Client 6.0.5; 6.0.4; 6.0.3; 6.0.2 CF2; 6.0.2 CF1; 6.0.2; 6.0.1 CF3; 6.0.1 CF2; 6.0.1 CF1; 6.0.1; 6.0 Windows XP


Hi,
I need to replace (or remove) file attachments in memo with another after the user clicks Send. I was trying to use extension manager's EM_MAILSENDNOTE event and NSFNoteDetachFile() in the handler, but this didn't work. It removes just the $FILE records but leaves file hotspots in the mail body and ends up with 'Note item not found' while sending. Can anyone tell me how to remove or replace the remainding hotspots in the sendmail handler? I tried it with C API but couldn't find out how and with the C++ API I have troubles too. Can anyone tell me what's wrong with the following code?

// EM_MAILSENDNOTE handler:
ap = pExRecord->Ap;// init pointer to stack top
hNote = VARARG_GET (ap, NOTEHANDLE);
pInternalView = VARARG_GET (ap, void*);
wFlags = VARARG_GET (ap, WORD);
pbModified = VARARG_GET (ap, BOOL*);
if (hNote)
{
LNNotesSession Session;
LNDatabase Db;
LNNote Note;
LNAttachmentArray attachments;

wError = Session.Init(TRUE);

NSFNoteGetInfo(hNote, _NOTE_DB, &hMailBox);

DBHANDLE rethDB;
wError = NSFDbReopen(hMailBox,
&rethDB);

if (wError == NOERROR)
wError = Session.GetDatabase(rethDB, &Db);

if (wError == NOERROR)
wError = Db.GetNote(hNote, &Note);

if (wError == NOERROR)
wError = Note.GetAttachments(&attachments);

if (wError == NOERROR)
{
for(LNINT i = 0; i < attachments.GetCount(); i++)
{
wError = Note.DeleteAttachment(attachments[i].GetAttachmentName(), TRUE);
*pbModified = TRUE;
}
}
}
}

With the error I get after executing this code it looks like the Note object closes the hNote handle in dtor and notes crash with: 'LookupHandle: handle not allocated' error after exiting the handler function.

Is there any solution with C API (I would rather do it with C API)? I have read many posts in the forum but haven't found any solution so far.








  Document options
Print this pagePrint this page

 Search this forum

  Forum views and search
Date (threaded)
Date (flat)
With excerpt
Author
Category
Platform
Release
Advanced search

 RSS feedsRSS
All forum posts RSS
All main topics RSS
More Lotus RSS feeds

Resources

 Resources
Forum use and etiquette
Native Notes Access
Web site Feedback

Lotus Support

 Lotus Support
IBM Support Portal - Lotus software
Lotus Support documents
Lotus support by product
Lotus support downloads
Lotus support RSS feeds

Wikis

 Wikis
IBM Composite Applications
IBM Mashup Center
IBM Connections
IBM Connections Cloud Developers
IBM Docs
IBM Forms
IBM Mobile Connect
IBM Sametime
IBM SmartCloud for Social Business
IBM Web Experience Factory
Lotus Domino
Lotus Domino Designer
Lotus Expeditor
Lotus Foundations
Lotus iNotes
Lotus Instructor Community Courseware
Lotus Notes
Lotus Notes & Domino Application Development
Lotus Notes Traveler
Lotus Protector
Lotus Quickr
Lotus Symphony
IBM Web Content Manager
WebSphere Portal

Lotus Forums


 Lotus Forums
Notes/Domino 9.0
Notes/Domino 8.5 + Traveler
Notes/Domino XPages development forum
Notes/Domino 8
Notes/Domino 6 and 7
IBM Connections
IBM Mobile Connect
IBM Sametime
IBM SmartCloud Notes
Lotus Enterprise Integration
Lotus Protector
Lotus Quickr
Lotus SmartSuite