私人部分:
type
TWorkOwner = (woClient,woServer);
TWorkData = record
Owner : TWorkOwner;
AMessage : string;
MsgID : integer;
end;
WorkFlow : TQueue<TWorkData>;
WorkData : TWorkData;
然后我希望像這樣將 WorkData 型別的專案添加到這個佇列中:
WorkData.Owner:=woClient;
WorkData.AMessage:='LogOn';
WorkData.MsgID:=MsgID;
WorkFlow.Enqueue(WorkData);
這有效,但我想(如果可能的話)像這樣直接 Enqueue WorkData (偽代碼):
WorkFlow.Enqueue(woClient,'LogOn',MsgID);
這顯然不起作用,我嘗試了幾種不同的方法,但如果可能的話,我無法弄清楚如何設定它。
謝謝你 。
uj5u.com熱心網友回復:
您可以定義記錄的建構式,如下所示:
constructor Create(AOwner: TWorkOwner; AMessage: string; AMsgID: integer);
然后Enqueue它是這樣的:
WorkFlow.Enqueue(TWorkData.Create(woClient,'LogOn',MsgID));
PS 從來沒有試過這個,我在這種情況下使用類。
uj5u.com熱心網友回復:
最簡單的方法是向采用這些引數的記錄添加一個建構式:
type
TWorkData = record
Owner: TWorkOwner;
AMessage: string;
MsgID: integer;
public
constructor Create(AOwner: TWorkOwner; const AAMessage: string; AMsgID:
integer);
end;
constructor TWorkData.Create(AOwner: TWorkOwner; const AAMessage: string;
AMsgID: integer);
begin
Owner := AOwner;
AMessage := AAMessage;
MsgID := AMsgID;
end;
WorkFlow.Enqueue(TWorkData.Create(woClient,'LogOn',MsgID));
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/311139.html
