與 指定具有 AnimUnserializeOperation 內容的外部函數 相互比較。
IBM® Rational® Rhapsody® 可順利將簡式類型和一維陣列的值產生成動畫(顯示)。若要在動畫階段作業期間顯示此類屬性的現行值,請針對實例開啟「特性」視窗。
不過,如果您要將更複雜的類型產生成動畫,比如日期,則必須將類型轉換成字串 (char *),讓 Rational Rhapsody 能夠顯示它。透過撰寫一個廣域函數、一個檢測函數採用您所要顯示類型的一個引數,然後傳回 char * 來完成此轉換。您必須停用檢測函數本身的動畫(方法是使用函數的 Animate 和 AnimateArguments 內容)。
例如,您可以讓類型 tDate 定義如下:
typedef struct date {
int day;
int month;
int year; } %s;
您擁有的物件可以帶有類型 int 的屬性計數和類型 tDate 的屬性日期。物件可具有含有下列主體的起始設定元:
me->date.month = 5;
me->date.day = 12;
me->date.year = 2000;
如果您要將資料屬性產生成動畫,則必須將用於日期的 AnimSerializeOperation 內容設為函數名稱,該函數會將類型 tDate 轉換成 char *。例如,您可將內容設給名稱為 showDate 的函數。此函數名稱的輸入不可含任何括弧。它必須採用類型為 tDate 的屬性,並傳回字元 char *。showDate 函數的 Animate 和 AnimateArguments 內容必須設為 Cleared。
showDate 函數的實作可如下所示:
showDate(tDate aDate) {
char* buff;
buff = (char*) malloc(sizeof(char) * 20);
sprintf(buff,"%d %d %d",
aDate.month,aDate.day,aDate.year);
return buff;
}
當您連同動畫執行此模型時,此物件的實例會針對瀏覽器中的日期屬性顯示值為 5 12 2000。
如果 showDate 函數定義在與屬性所屬的相同類別且函數並非靜態,則 AnimSerializeOperation 內容值應類似下列範例:
myReal->showDate
這個值會顯示函數是由位於類別 OMAnimated<classname> 中的 serializeAttributes 函數所呼叫的。
此內容的預設值是空字串。