因為即時系統的資料配送服務 (DDS) 應用程式共用資料,您必須為應用程式定義共用的資料。此外,還必須為 DDS 應用程式設定索引鍵屬性。此屬性指示宣告 topicStruct 作為其類型的主題可能包含多個資料。索引鍵屬性可在不同實例之間區分。
在這一課,您將定義元素並新增索引鍵屬性。
topicStruct 是一組欄位或結構,用於定義主題中的單個實例。在其 topicStruct 有索引鍵的狀況下,主題可以由多個實例組成。索引鍵可以是一個欄位或屬性,位於 topicStruct 中或在多個欄位組合中。當您建立標準主題時,必須新增主題類型的名稱。基於本指導教學的用途,類型為 struct。
- 定義 topicStruct:
- 對於在第 2 課中建立的 TopicDiagram 圖,建立 topicStruct 元素:按一下「繪圖」工具列上的 topicStruct 圖示
,然後按一下該圖表的繪圖區
- 開啟 topicStruct 元素的「特性」視窗。在一般標籤上,輸入下列資訊:
- 將元素命名為 MyTopicStruct
- 在類型欄位中選取結構
- 在屬性標籤上,按一下 <New> 新增下列每一個屬性。從類型欄位選取對應類型。
- myBooleanAttribute,類型為布林
對於此屬性,必須手動設定類型;
- 按一下「呼叫特性對話」圖示
以開啟「特性」視窗
- 清除使用現有類型勾選框
- 在 C++ 宣告欄位中,輸入布林,然後按一下確定
- myLongAttribute,類型為 long
- myStringAttribute,類型為字串。
若要設定類型,請使用對 myBooleanAttribute 所用相同的方法。
- myDoubleAttribute,類型為雙精度
- myLongSequenceAttribute,類型為 long,且對應關係設定為 *。若要設定對應關係,請開啟此屬性的「特性」視窗;在對應關係欄位中選取 *;然後按一下確定
您的屬性標籤類似下圖。
- 關閉 topicStruct 的「特性」視窗。
- 新增索引鍵屬性:
註: 雖然索引鍵可以是數個屬性的組合,但本指導教學僅使用一個索引鍵屬性。
- 在瀏覽器中,用滑鼠右鍵按一下 MyTopicStruct topicStruct,然後按一下
- 開啟索引鍵屬性的「特性」視窗。在一般標籤上,輸入下列資訊:
- 將屬性命名為 myKeyAttribute
- 將類型設定為 long,然後按一下確定
在瀏覽器中,MyTopicStruct 類似下圖。