AnnUnlock Example for C++ Builder

//Global declarations
LEADRasterAnnotation * pRasterAnn= NULL;
LEADRasterAnnToolBar* pRasterAnnToolbar= NULL;
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   CoCreateInstance(CLSID_LEADRasterAnnotation, NULL, CLSCTX_ALL, IID_ILEADRasterAnnotation, (void**)&pRasterAnn);
   CoCreateInstance(CLSID_LEADRasterAnnToolBar, NULL, CLSCTX_ALL, IID_ILEADRasterAnnToolBar, (void**)&pRasterAnnToolbar);
   pRasterAnn->AnnParentRasterView = LEADRasterView1->Raster;
   LEADEventSink1->Connect (pRasterAnn, DIID__LEADRasterAnnotationEvents);
   pRasterAnn->AnnUserMode = ANN_USERMODE_DESIGN ;
}
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
   if (pRasterAnn)
      pRasterAnn->Release ();
   if (pRasterAnnToolbar)
      pRasterAnnToolbar-> Release();
}

/*This is also the example for AnnGetLocked method.
If an object is found to be locked, using AnnGetLocked method, the object is unlocked, by AnnUnlock, using the key "abcd".
hGlobalAnn is a global handle to an annotation object*/
void __fastcall TForm1:: Button2Click (TObject *Sender)
{
   TOLEBOOL bLocked;
   pRasterAnn->AnnGetLocked (hGlobalAnn);
    blocked= pRasterAnn->AnnLocked;
   if (bLocked)
      pRasterAnn->AnnUnlock (hGlobalAnn, AnsiToOLESTR("abcd"));
}