AnnSaveMemory example for C++ Builder

Note:

This topic is for Document/Medical only.

This example lets you save the current annotations to a file in memory, and lets you load the annotations that were saved.

1.

Start with the project that you created in Creating and Using Annotations.

2.

Declare the following in the private section of your main form:

HGLOBAL hMemGlobal;
long iSizeGlobal; 

3.

image\btncmd.gif At the top of your main form, add two command buttons and name them as follows:

 

Name

Caption

 

AnnSaveMem

Save In Memory

 

AnnLoadMem

Load From Memory

4.

Code the AnnSaveMem button's Click procedure as follows:

void __fastcall TForm1::AnnSaveMemClick(TObject *Sender)
{
 if (pRasterAnn->AnnSaveMemory ((long*)&hMemGlobal, (Ltannlib_tlb::AnnFMTConstants)ANNFMT_NATIVE, False, &iSizeGlobal) != 0)
 ShowMessage ("Error calling AnnSaveMemory");

}

5.

Code the AnnLoadMem button's Click procedure as follows:

//Load the annotations from the memory-resident file.
void __fastcall TForm1::AnnLoadMemClick(TObject *Sender)
{
if (pRasterAnn->AnnLoadMemory ((long)hMemGlobal, iSizeGlobal) != 0 )
 ShowMessage ("Error calling AnnLoadMemory");
 else
 ShowMessage ("AnnLoadMemory succeeded");
 GlobalFree (hMemGlobal);

}

6.

Run your program to test it.